一个定量变量和一个分类变量的堆积条形图

Posted

技术标签:

【中文标题】一个定量变量和一个分类变量的堆积条形图【英文标题】:Stacked Bar Plot for one quantitative and one categorical variable 【发布时间】:2017-05-28 08:28:59 【问题描述】:

我有一个如下的数据框:

core_depth    formation_name
5668           name5
5739           name2
5791           name7
5841           name4
5856           name1
5876           name3
5882           name6

core_depth 列表示岩层的深度,formation_name 是地质学家给岩层起的名称。我打乱了名称以保护数据,但想法是这些名称是唯一的名称,就像 R 中的字符向量一样。

我需要绘制一个单列堆积条形图,其中只有垂直比例很重要。它从顶部的第一个 core_depth (5668) 开始,到底部的 core-depth (5882) 结束。条形图中的每个堆栈都显示了与名称对应的深度的“比例”。我不需要图例,因为堆积条本身用作其他散点图的深度和形成标记。我可以使用 ggplot2 或 plotly。请建议或更好,提供示例代码。

【问题讨论】:

【参考方案1】:

这有帮助吗:

df <- read.table(text = "core_depth    formation_name
                 5668           name5
                 5739           name2
                 5791           name7
                 5841           name4
                 5856           name1
                 5876           name3
                 5882           name6", stringsAsFactors = FALSE, header = TRUE)

library(dplyr)
library(ggplot2)

df <- df %>% 
  arrange(core_depth)

df$lag <- lag(df$core_depth)

df$abs <- df$core_depth - df$lag
df$abs[1] <- 0

ggplot(df) +
  geom_bar(aes(x = rep(0, nrow(df)),
               y = abs,
               fill = formation_name),
           stat = "identity")

【讨论】:

这几乎是我需要的,但我希望Y轴刻度从顶部开始,第一个核心深度值,即5668,然后向下直到最后一个核心-深度达到了,即5882。我真的不关心X轴,可以删除或隐藏。否则就好了。

以上是关于一个定量变量和一个分类变量的堆积条形图的主要内容,如果未能解决你的问题,请参考以下文章

带有facet_grid的ggplot2中带有多个分类变量的堆积条形图

具有 50 多个创建的虚拟变量的堆积条形图(百分比)? [关闭]

为多个变量制作堆积条形图 - R 中的 ggplot2

日期箱内变量计数的堆积条形图

通过随时间变化的第二个变量排序堆积条形图

如何使熊猫分类堆积条形图比例为 100%