一个定量变量和一个分类变量的堆积条形图
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中带有多个分类变量的堆积条形图