R ggplot,删除ggsave/ggplot中的白边

jf3*_*328 10 r ggplot2

如何删除ggsave中的白边?

我的问题与R中的删除空格(即边距)ggplot2完全相同.但是,答案对我来说并不理想.对于固定但未知的宽高比而不是试验和错误,我想给出ggsave一个height并且weight希望我的情节(即标题的顶部到x标签的底部)自动扩展到没有白边的那个配置.

如何删除我的.png周围的奇怪白边(用r,ggplot绘制)?提供了一种方式,使边缘透明的,但它们仍然存在和剧情小于heightwidth我在保存的文件中设置.

jf3*_*328 11

在ggplot2中找到了Remove Plot Margins的答案

theme(plot.margin=grid::unit(c(0,0,0,0), "mm"))
Run Code Online (Sandbox Code Playgroud)

做的工作

  • 不确定为什么这个答案被接受。这仅仅删除了边距,使得轴标签、图表标题和面板都具有 0 边距。白色边框仍将用 ggsave 打印。 (5认同)
  • 当使用例如“theme(aspect.ratio=9/16)”更改宽高比时,这将不起作用。 (2认同)

JaB*_*aBe 9

在链接到此博客文章的答案中,有一个也适用于不同宽高比的解决方案。您可以在硬盘驱动器上裁剪图像,与操作系统无关:

knitr::plot_crop()
Run Code Online (Sandbox Code Playgroud)


Oma*_*sow 5

如果您使用的是 Unix 或 Mac OS,则当各种边距选项不够修剪时,另一个选择是pdfcrop通过R调用系统命令的能力使用Unix 中可用的命令:

# after saving image, run pdfcrop 
system2(command = "pdfcrop", 
        args    = c("name_or_path_of_file_before_crop.pdf", 
                    "name_or_path_of_file_after_crop.pdf") 
        )
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅:https : //robjhyndman.com/hyndsight/crop-r-figures/

  • 接受的答案不能满足我的需要,但 pdfcrop 可以。谢谢! (2认同)