首页 > 解决方案 > 平面网格 - 条之间的间距和面板尺寸

问题描述

这是我在这里的第一个问题,我尝试尽可能地描述我的问题。(对不起,如果我没有成功的话)

我想在使用 facet_grid 时在 ggplot 中制作一个条形图。

plot1<-ggplot(data2,aes(x=fc4mean,y=Fraktion,fill=methode))+
  facet_grid(~Standort, scales="free_y",)+
    geom_barh(stat="identity",aes(fill=methode), position=position_dodge2(),width = 0.3)+
  theme_bw()+
  theme(axis.text.x = element_text(hjust = 1))+
  scale_fill_brewer(palette = "Greys",direction=-1)+
  scale_color_brewer("Black")+
  theme(legend.title=element_blank())+
  ylab("fraction")+
  guides(colour = guide_legend(reverse=T))+
  geom_errorbar(aes(xmin=fc4mean-fc4sd, xmax=fc4mean+fc4sd),position=position_dodge2(),width=0.3)

它有效,但标准设置使酒吧变得又大又丑。所以我决定将条形宽度设置为 0.3。问题是酒吧组彼此相距很远。所以我试图减少间距。 在此处输入图像描述 在此处输入图像描述

我尝试了很多不同的方法,例如解决方法

position=position_dodge()

或者

scale_y_discrete(expand = c(0, 2))+

删除 y 轴上 2 个因子刻度之间的间距。这可行,但后来我在面板的顶部和底部有大量空白空间。 在此处输入图像描述

我试图用

theme(plot.margin = unit(c(5,0,5,0), "cm"))

这根本没有帮助。因为我不愿意放弃并合并绘图中的绘图,我希望有人对如何处理条的宽度、条之间的间距以及面网格中面板的间距有一个很好的想法。

希望有一些好的输入,干杯:)

标签: ggplot2bar-chartpanelfacetspacing

解决方案


在您的评论的帮助下,我能够使用命令创建一个不错的情节

scale_y_discrete(expand=expansion(c(0,2)))
position=position_dodge()
width = ()

并通过调整绘图窗口的纵横比。谢谢你


推荐阅读