ggplot2 - 平面网格 - 条之间的间距和面板尺寸
问题描述
这是我在这里的第一个问题,我尝试尽可能地描述我的问题。(对不起,如果我没有成功的话)
我想在使用 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"))
这根本没有帮助。因为我不愿意放弃并合并绘图中的绘图,我希望有人对如何处理条的宽度、条之间的间距以及面网格中面板的间距有一个很好的想法。
希望有一些好的输入,干杯:)
解决方案
在您的评论的帮助下,我能够使用命令创建一个不错的情节
scale_y_discrete(expand=expansion(c(0,2)))
position=position_dodge()
width = ()
并通过调整绘图窗口的纵横比。谢谢你
推荐阅读
- python - 在 Python 中创建 JSON 对象
- java - 使用 Yaw/Pitch/Roll 渲染 Java 3D 对象
- php - 这是什么语句 => ($value ? $value : 0)
- heroku - Heroku worker dynos 上的 FFMPEG 耗时太长 - 遇到超时错误
- javascript - 数据表 - 按字符串搜索,而不是子字符串
- sql - 交叉应用/透视此数据?
- jquery - 在 HTML 字符串中查找元素的文本
- amazon-web-services - Redshift 存储过程无法按预期工作
- angular - 动态表单取决于我以角度注入组件的服务
- javascript - 重构一个函数 JS