[英]R ggplot, remove white margins in ggsave/ggplot
如何删除ggsave中的白边?
我的问题与Remove white space (ie, margins) ggplot2 in R 完全相同。 但是,那里的答案对我来说并不理想。 我想给ggsave
一个height
和weight
,而不是反复试验固定但未知的纵横比,并希望我的情节(即标题顶部到 x 标签底部)自动扩展到没有白边的配置。
如何删除 .png 周围奇怪的白边(用 r、ggplot 绘制)? 提供了一种使边距透明的方法,但它们仍然存在并且绘图小于我在保存的文件中设置的height
和width
。
如果您使用的是 Unix 或 Mac OS,则当各种边距选项不够修剪时,另一种选择是通过R
调用系统命令的能力使用 Unix 中可用的pdfcrop
命令:
# 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")
)
有关更多信息,请参阅: https : //robjhyndman.com/hyndsight/crop-r-figures/
如果 pdf 和pdfcrop
不是你的东西,例如你在带有 png 标志的 png 中工作 - 然后在这里看到我的答案: 如何以适当的纵横比保存 ggplot2 图形?
我最终在ggsave
之后添加了一个这样的命令:
system("/usr/local/bin/mogrify -trim -border 8 -bordercolor white output.png")
-trim
删除现有的边距, -border 8 -bordercolor white
在绘图周围添加一个小的 8px 边距。
对于具有灰色背景的图,在图的边缘留下了一些白色像素,因此我使用-shave
选项删除了一些额外的像素:
system("/usr/local/bin/mogrify -trim -shave 4x4 output.png")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.