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

Stacked Bar Plot for one quantitative and one categorical variable

我有一个数据框如下:

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) 结束。条形图中的每个堆栈显示名称对应的深度 'proportion'。我不需要图例,因为堆叠条本身用作其他散点图的深度和地层标记。我可以使用 ggplot2 或 plotly。请指教或更好,给出示例代码。

这有帮助吗:

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