r - 减少 ggplot 中的面板高度/宽度并在 R Markdown 中裁剪空白
问题描述
请不要关闭它并告诉我答案是关于删除绘制的数据和轴之间的空间,因为这不是同一个图并且在这里不起作用。使用 expand 会使条变大。
我最初的问题是面板太多,下面详述,我使用解决了
library(patchwork)
plot11f + plot_layout(ncol = 1,nrow =5)
我能够用较少的灰色获得漂亮的瘦情节,但是在我的降价文档中它下面有一个很大的空白。使用 plot.margins 没有帮助,它切断了我的轴标签,仍然给出了大的空白。
---原始问题---我制作了以下ggplot(下面的代码和虚拟数据)但我想减少灰色面板位的高度(我用红色涂鸦)以使图表更短(我什至可能进一步缩小栏的宽度,但需要先知道如何缩小灰色背景面板)。
tableq11f<-data.frame(Q11f<-c("A","B","C","D","E"), percent<-c(0.03,0.07,0.22,0.46,0.22))
plot11f<-ggplot(data=tableq11, aes(x=percent, y="Q11", fill=Q11f))+
geom_col(position = "fill", show.legend = FALSE, width=0.5)+
scale_fill_brewer(palette="Blues")+theme(axis.title.x=element_blank(),
axis.title.y=element_blank(),axis.text.y=element_blank(),axis.ticks.y=element_blank())+
scale_x_continuous(labels = scales::percent)
更像这样
解决方案
空白空间在那里,因为您使用拼凑来创建情节网格和四个空行,这不是实现目标的合适方式。取而代之的是,减少条形和绘图边距之间的空间,scale_y_discrete(expand = expansion(mult = .075))
并减小条形的宽度geom_col()
,最后如评论中所述,在降价块选项中为绘图设置适当的图形大小。
---
title: "Untitled"
output: word_document
---
```{r, echo=FALSE, fig.width=5, fig.asp = .15}
library(ggplot2)
tableq11f<-data.frame(Q11f=c("A","B","C","D","E"), percent=c(0.03,0.07,0.22,0.46,0.22))
ggplot(data = tableq11f, aes(x = percent, y = "Q11", fill = Q11f)) +
geom_col(position = "fill",
show.legend = FALSE,
width = 0.1) +
scale_fill_brewer(palette = "Blues") +
theme(
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text.y = element_blank(),
axis.ticks.y = element_blank()
) +
scale_x_continuous(labels = scales::percent) +
scale_y_discrete(expand = expansion(mult = .075))
```
这使:
推荐阅读
- python - 在品脱中继承 Q_ - 为什么超级调用不带参数?
- django - 使用 django-storages 进行 S3 版本控制
- mysql - 使用 CASE 更新 VIRTUAL GENERATED 列
- listview - 将复选框添加到 TableView 列
- sql - 如何根据多列按行排序
- javascript - 通过点属性访问器将对象键作为字符串获取
- java - 将 ModelAttribute 与布尔对象一起使用时未找到默认构造函数
- swift - 将 swift 字符串复制到固定大小的 char[][]
- python - 日志记录模块:StreamHandler 似乎没有附加到记录器
- google-chrome - Chrome中的“请求已发送”很长时间