当增加字体大小以补偿rmarkdown中的高dpi渲染时,facet wrap ggplot图像的标签具有异常大的余量。在下面的示例中,“D'”,“E' E'等等上面的垂直空间是我想要降低的空间。我尝试更改element_text
边距以及panel.spacing
主题参数。将它们设置为零并不会改变很多事情。
---
title: "PNG facet wrap test"
output:
word_document: default
html_document: default
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, warning=FALSE, message =FALSE,fig.height=4)
knitr::opts_chunk$set(fig.showtext=TRUE)
knitr::opts_chunk$set(fig.width=6.5, fig.height = 4, out.width = 6.5, out.height = 4)
knitr::opts_chunk$set(dev="png", dev.args=list(type="cairo", pointsize=36), dpi=300)
require(ggplot2)
require(dplyr)
```
## Example image
```{r highdpi}
dia = ggplot2::diamonds %>% filter(cut=="Ideal", clarity=="SI2", color!="J")
ggplot(dia, aes(x=carat, y=price)) + facet_wrap(~color) + geom_point() + theme_light(36)
```
答案 0 :(得分:3)
在 ggplot2_2.2.1 中,您可以使用strip.text.x
更改margin
条带的边距。 (在开发版本中,您可以执行此操作directly with strip.text
)。
这里我将顶部和底部边距设为0:
ggplot(dia, aes(x=carat, y=price)) +
facet_wrap(~color) +
geom_point() +
theme_light(36) +
theme(strip.text.x = element_text( margin = margin( b = 0, t = 0) ) )