[英]Grouped reversed bar plot in ggplot2
我想重新創建這個 plot:
我的數據如下所示:
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)
所以我希望leafnumber最終在Y軸上,PU在X軸上。 weeknumber 可用於顯示一段時間內的分布。
這是我的第一次嘗試:
ggplot(df,aes(leafnumber, PU)) +
geom_bar(stat = "identity") +
coord_flip()
我不確定如何從條形圖 plot 到“分組”條形圖,就像圖像中的那個。
目標是在 X 軸上為每個周數提供此分布,以便我可以看到分布隨時間的變化。
我的意思不是這個:
ggplot(df,aes(leafnumber, PU, fill=weeknumber)) +
geom_bar(stat = "identity") +
coord_flip()
對此問題的任何建議/解決方案將不勝感激。
如果您的實際數據集對每個葉子 / PU 有大量觀察,您可以使用ggridges package來獲得類似的 plot,例如
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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.