R ggplot2中的分组反向条形图
我想重现这个情节: 我的数据如下所示:R ggplot2中的分组反向条形图,r,ggplot2,R,Ggplot2,我想重现这个情节: 我的数据如下所示: 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) 我不知道如何从条形图到“分组”条形图,如图中所示 我们的目标是在X轴上为每个工作周编号提供此分布,以便我可以看到分布在时间内的变化 我不是说: ggp
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)
我不知道如何从条形图到“分组”条形图,如图中所示
我们的目标是在X轴上为每个工作周编号提供此分布,以便我可以看到分布在时间内的变化
我不是说:
ggplot(df,aes(leafnumber, PU, fill=weeknumber)) +
geom_bar(stat = "identity") +
coord_flip()
对于此问题的任何建议/解决方案,我们将不胜感激。如果您的实际数据集对每个叶/PU都有大量的观测值,您可以使用获得类似的图,例如
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()
库(tidyverse)
图书馆(GG)
#制造“更大”的假数据
leafnumber怎么样?+facet\u wrap(~weeknumber)
?正如@stefan建议的那样,试试ggplot(df,aes(leafnumber,PU))+geom\u bar(stat=“identity”)+coord\u flip()+facet\u wrap(~weeknumber,strip.position=“bottom”)+theme\u bw()+theme(panel.spacing.x=unit(0,“mm”),panel.grid=element\u blank(),panel.border=element_blank())
谢谢Stefan和Roman!有效:)
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()