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

时间:2017-01-13 02:46:44

标签: r ggplot2 plotly stacked-chart

我有一个数据框如下:

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)开始,到底部的核心深度(5882)结束。条形图中的每个堆栈显示与名称对应的深度的“比例”。我不需要这个图例,因为堆叠条本身就是其他散点图的深度和形成标记。我可以使用ggplot2或plotly。请提供建议或更好,提供示例代码。

1 个答案:

答案 0 :(得分:0)

这有用吗:

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")

enter image description here