调整 Rmarkdown 中的图形边距
Adjusting figure margins in Rmarkdown
我正在尝试调整我的 Rmarkdown 文档中的饼图,使其跨越页面的宽度或至少变得足够宽以适合所有标签。
我已经尝试了所有方法 - 调整 figure.height
和 figure.width
,边距 par(mar)
和 par(oma)
,但似乎没有任何效果。要么馅饼本身变小,要么标签被切掉更多。我希望馅饼尽可能大,标签清晰可见,但每次它都会呈现小馅饼和小标签。
至少有解决方法可以让标签不被切断(或者可以与相邻图表重叠)吗?任何建议,将不胜感激。
```{r, figure.align = "center", figure.height = 10, figure.width = 12}
par(mfrow=c(1,3), cex.axis=1.5, cex.lab=1.5)
par(mar = c(4,2,4,2))
par(oma = c(3, 3, 3, 3))
pie(a, labels = lbls, font = 2, col = c("tomato", "white"), cex=2)
pie(b, lbls2, font = 2, col = c("tomato", "white"), cex=2)
mtext(side=3, text="Plan Breakdown: Top 20% of Users")
pie(c, lbls3, font = 2, col = c("tomato", "white"))
您可以尝试使用块选项 'out.width'。这是我使用的 Rmd 文件。我认为它可以满足您的需求。
---
output: pdf_document
---
```{r, out.width='\textwidth', fig.height = 8, fig.align='center'}
pie(c(0.57, 0.43), font = 2, col = c("tomato", "white"))
pie(c(0.57, 0.43), font = 2, col = c("blue", "orange"))
```
除非您指定 out.width,否则您的图形大小受文档页边距限制。如果您的图形宽度大于页面的边距,那么 R Markdown/knitr 将创建一个具有指定纵横比的图形,但将其缩小以适合边距。
要解决此问题,请使用out.width 设置pdf 中绘图的宽度和高度。类似于:
```{r, fig.align = "center", fig.height = 8, fig.width = 8,
out.width = "8.5in"}
pie(a, labels = lbls, font = 2, col = c("tomato", "white"), cex=2)
pie(b, lbls2, font = 2, col = c("tomato", "white"), cex=2)
mtext(side=3, text="Plan Breakdown: Top 20% of Users")
pie(c, lbls3, font = 2, col = c("tomato", "white"))
````
有关详细信息,请参阅 this page on knitr chunk options。
我遇到了同样的问题,似乎默认应用了一些裁剪,将其添加到 yaml-header 对我有用:
output:
pdf_document:
fig_crop: no
我正在尝试调整我的 Rmarkdown 文档中的饼图,使其跨越页面的宽度或至少变得足够宽以适合所有标签。
我已经尝试了所有方法 - 调整 figure.height
和 figure.width
,边距 par(mar)
和 par(oma)
,但似乎没有任何效果。要么馅饼本身变小,要么标签被切掉更多。我希望馅饼尽可能大,标签清晰可见,但每次它都会呈现小馅饼和小标签。
至少有解决方法可以让标签不被切断(或者可以与相邻图表重叠)吗?任何建议,将不胜感激。
```{r, figure.align = "center", figure.height = 10, figure.width = 12}
par(mfrow=c(1,3), cex.axis=1.5, cex.lab=1.5)
par(mar = c(4,2,4,2))
par(oma = c(3, 3, 3, 3))
pie(a, labels = lbls, font = 2, col = c("tomato", "white"), cex=2)
pie(b, lbls2, font = 2, col = c("tomato", "white"), cex=2)
mtext(side=3, text="Plan Breakdown: Top 20% of Users")
pie(c, lbls3, font = 2, col = c("tomato", "white"))
您可以尝试使用块选项 'out.width'。这是我使用的 Rmd 文件。我认为它可以满足您的需求。
---
output: pdf_document
---
```{r, out.width='\textwidth', fig.height = 8, fig.align='center'}
pie(c(0.57, 0.43), font = 2, col = c("tomato", "white"))
pie(c(0.57, 0.43), font = 2, col = c("blue", "orange"))
```
除非您指定 out.width,否则您的图形大小受文档页边距限制。如果您的图形宽度大于页面的边距,那么 R Markdown/knitr 将创建一个具有指定纵横比的图形,但将其缩小以适合边距。
要解决此问题,请使用out.width 设置pdf 中绘图的宽度和高度。类似于:
```{r, fig.align = "center", fig.height = 8, fig.width = 8,
out.width = "8.5in"}
pie(a, labels = lbls, font = 2, col = c("tomato", "white"), cex=2)
pie(b, lbls2, font = 2, col = c("tomato", "white"), cex=2)
mtext(side=3, text="Plan Breakdown: Top 20% of Users")
pie(c, lbls3, font = 2, col = c("tomato", "white"))
````
有关详细信息,请参阅 this page on knitr chunk options。
我遇到了同样的问题,似乎默认应用了一些裁剪,将其添加到 yaml-header 对我有用:
output:
pdf_document:
fig_crop: no