【发布时间】:2020-11-21 13:04:20
【问题描述】:
我有一个数据集,我试图将其绘制为构面中的分组列,列的大小相同。
数据集:
Day=rep(1:6, times=15)
颜色=c("黄色","黄色","黄色","黄色","黄色","黄色", “红色”、“红色”、“红色”、“红色”、“红色”、“红色”、 "绿色","绿色","绿色","绿色","绿色","绿色", "黄色","黄色","黄色","黄色","黄色","黄色", “红色”、“红色”、“红色”、“红色”、“红色”、“红色”、 "绿色","绿色","绿色","绿色","绿色","绿色", "蓝色","蓝色","蓝色","蓝色","蓝色","蓝色", "紫","紫","紫","紫","紫","紫", "黄色","黄色","黄色","黄色","黄色","黄色", “红色”、“红色”、“红色”、“红色”、“红色”、“红色”、 "绿色","绿色","绿色","绿色","绿色","绿色", "黄色","黄色","黄色","黄色","黄色","黄色", “红色”、“红色”、“红色”、“红色”、“红色”、“红色”、 "绿色","绿色","绿色","绿色","绿色","绿色", "黄","黄","黄","黄","黄","黄")
值=rep(c(9,8,7,6,5,8,7,6,5,4,7,6,5,4,3), times=6)
Fruit=rep(c("CApple", "Banana", "ABlueberry","Mango", "Melon", "梨"), 次 = c(18,18,12,18,18,6))
数据 %
mutate(unten=Values-0.2, oben=Values+0.2)
我的代码是:
ForPlot <- ggplot(Data, aes(Colour, Values), fill=Colour)
design <- theme(strip.background = element_blank(),
panel.background = element_blank(),
panel.grid.major = element_blank(),
strip.placement = "outside",
panel.border=element_blank(),
# axis.line = element_line(colour = "black"),
axis.line.x = element_line(colour = "white"),
axis.ticks.x=element_blank(),
legend.title = element_blank(),
# axis.text=element_text(size=8),
axis.text.x=element_blank(),
axis.title=element_text(size=10),
strip.text = element_text(size = 10))
ForPlot+
geom_hline(yintercept = c(0, 2.5, 5, 7.5, 10), colour= "lightgrey" )+
geom_col(aes(fill=Colour),
position=position_dodge2(preserve="single"))+
ggtitle("Fruity Colours")+
ylab("Values") + xlab("Day") +
facet_wrap(~Fruit, scales= "free", ncol=3)+
scale_y_continuous()+
scale_fill_discrete()+
geom_text(aes(label = Day), position=position_dodge2(width= 0.9),
y=-0.2, size=2.4) +
geom_errorbar(aes(ymin=pmax(0,unten), ymax=oben),
position=position_dodge2())+
design+
geom_segment(aes(x=0.4,xend=Inf, y=0, yend=0), color="black")+
geom_segment(aes(x=0.4,xend=0.4, y=0, yend=Inf), colour="black")
目前,不同切面中的条都具有不同的宽度。我尝试使用“width=”来调整问题,但没有成功(条形图仅相对于它们当前的大小缩小,或者我失去了我的 Day 标签和误差线)。
感谢您的帮助!
【问题讨论】:
-
space参数(在facet_grid()中可用,但在facet_wrap()中不可用)可能会有所帮助:facet_grid(~Fruit, scales= "free", space = "free")。这就是你想要的吗?条的宽度相同,但当然,刻面本身的大小也不同。
标签: r facet column-width geom-col