我想重新创建这个图:

我的数据如下所示:
leafnumber <- c(6,7,8,9,6,7,8,9)
PU <- c(30,15,7,0,10,36,7,9)
weeknumber <- c(8,8,8,8,9,9,9,9)
df <- data.frame(leafnumber, PU, weeknumber)所以我希望叶子编号在Y轴上结束,PU在X轴上结束。和weeknumber可以用来显示随时间的分布。
这是我的第一次尝试:
ggplot(df,aes(leafnumber, PU)) +
geom_bar(stat = "identity") +
coord_flip()我不确定如何将条形图转换为“分组”条形图,就像图像中的条形图。
我们的目标是在X轴上得到每个星期的分布,这样我就可以看到分布在时间上的变化。
我的意思不是这样:
ggplot(df,aes(leafnumber, PU, fill=weeknumber)) +
geom_bar(stat = "identity") +
coord_flip()对此问题的任何建议/解决方案都将不胜感激。
发布于 2021-04-16 19:11:40
如果您的实际数据集具有每个叶/ PU的大量观测值,则可以使用ggridges package来获得类似的图,例如
library(tidyverse)
library(ggridges)
# Make 'larger' fake data
leafnumber <- c(runif(1, 6, n = 100),
runif(3, 9, n = 100),
runif(5, 12, n = 100),
runif(10, 15, n = 100),
runif(15, 18, n = 100))
PU <- factor(c(rep("1", 100), rep("2", 100),
rep("3", 100), rep("4", 100), rep("5", 100)),
levels = c("1", "2", "3", "4", "5"))
weeknumber <- c(8,8,8,8,8,9,9,9,9,9)
df <- data.frame(leafnumber, PU, weeknumber)
# Plot the data
ggplot(df, aes(x = leafnumber, y = PU, height = stat(density))) +
geom_density_ridges(stat = "binline", bins = 40,
scale = 0.95, draw_baseline = FALSE) +
coord_flip()

https://stackoverflow.com/questions/67123135
复制相似问题