我有一个数据框如下:
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。请提供建议或更好,提供示例代码。
答案 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")