在降价演示中自定义绘图DPI

时间:2019-10-14 15:04:43

标签: r knitr xaringan

我正在努力控制Markdown演示文稿中图像的大小和DPI。我正在使用xaringan软件包。

fig.width和fig.height的块选项可以直观地工作,直到更改dpi设置为止。对于更高的dpi设置,我似乎无法生成具有适当大小和外观的图像。 dpi的增加会使图像变大;我可以通过降低fig.height和fig.width来进行补偿,但这会破坏绘图区域和字体大小的缩放比例。任何帮助表示赞赏!

我包括了一些代码,但是我将所有代码都放在了注释中,因为否则,StackOverflow将对格式化块选项感到困惑。

# ---
# title: Test plot appearance
# output:
#   xaringan::moon_reader:
#       css: [chocolate-fonts]
#       lib_dir: libs
#       nature:
#       highlightStyle: github
#       countIncrementalSlides: false
# ---
# 
# ```{r include = FALSE}
# library(ggplot2)
# ```
# 
# # Default DPI is low res
# ```{r echo = FALSE, fig.width = 6, fig.height = 4}
# ggplot(mtcars) + aes(cyl, mpg) + geom_point()
# ```
# 
# ---
# # 300 DPI makes image huge
# ```{r echo = FALSE, fig.width = 6, fig.height = 4, dpi = 300}
# ggplot(mtcars) + aes(cyl, mpg) + geom_point()
# ```
# 
# ---
# # I can compensate with small fig.width and height, but looks ugly
# ```{r echo = FALSE, fig.width = 2, fig.height = 2, dpi = 300}
# ggplot(mtcars) + aes(cyl, mpg) + geom_point()
# ```
# 
# ---
# # out.width and out.height cause image not to appear
# ```{r echo = FALSE, out.width = 6, out.height = 4, dpi = 300}
# ggplot(mtcars) + aes(cyl, mpg) + geom_point()
# ```

1 个答案:

答案 0 :(得分:1)

我认为您可能需要fig.retina块选项。

例如,当fig.retina = 2时,图像的物理尺寸加倍,显示尺寸减半。

对于out.widthout.height,输入必须是字符。如果要使用此选项,则可以像out.width = "80%"一样使用它。

查看更多图解选项here