提问人:jf328 提问时间:2/12/2016 最后编辑:Dave2ejf328 更新时间:5/17/2021 访问量:30192
R ggplot,删除 ggsave/ggplot 中的白边距
R ggplot, remove white margins in ggsave/ggplot
问:
如何删除 ggsave 中的白边距?
我的问题与 R 中的删除空格(即边距)ggplot2 完全相同。然而,那里的答案对我来说并不理想。与其对固定但未知的纵横比进行反复试验,不如给出一个 and,并希望我的图(即标题顶部到 x 标签的底部)自动扩展到该配置,没有白边距。ggsave
height
weight
如何去除.png周围奇怪的白色边缘(用 r、ggplot 绘制)?提供了一种使边距透明的方法,但它们仍然存在,并且绘图小于我在保存的文件中设置的情节。height
width
答:
40赞
jf328
2/12/2016
#1
从 ggplot2 中的删除绘图边距中找到答案
theme(plot.margin=grid::unit(c(0,0,0,0), "mm"))
完成工作
评论
3赞
JaBe
11/18/2020
当纵横比更改时,例如 这是行不通的。theme(aspect.ratio=9/16)
4赞
jparanich
2/2/2022
不知道为什么这个答案被接受。这仅删除了边距,使轴标签、图表标题和面板的边距均为 0。白色边框仍将用 ggsave 打印。
0赞
wptmdoorn
6/28/2023
@JaBe,关于如何使其与 theme(aspect.ratio=...) 一起使用的任何提示?几天来一直在寻找这个。
6赞
Omar Wasow
8/17/2019
#2
如果您使用的是 Unix 或 Mac OS,当各种边距选项不够修剪时,另一种选择是通过 的功能使用 Unix 中可用的命令来调用系统命令:pdfcrop
R
# 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/
评论
2赞
groceryheist
10/29/2019
接受的答案不能满足我的需要,但 pdfcrop 可以。谢谢!
0赞
user2363777
2/18/2022
pdfcrop
macOS UNIX(Monterey,v12.2.1)中不存在。
0赞
Omar Wasow
2/21/2022
刚刚在 MacOS Monterey v12.1 (21C52) 上测试了 pdfcrop 在终端和 R 中,它运行良好。似乎不太可能从Unix中删除一个相当标准的实用程序。
1赞
Scrope
5/1/2020
#3
如果 pdf 不是你的菜,例如你在带有 png 标志的 png 中工作 - 那么请看我的答案 这里: 如何以适当的纵横比保存 ggplot2 图形?pdfcrop
8赞
JaBe
11/18/2020
#4
在链接到这篇博文的答案中,有一个解决方案也适用于不同的纵横比。您可以裁剪硬盘上的映像,独立于操作系统:
knitr::plot_crop()
0赞
nisetama
2/26/2021
#5
我最终在以下内容之后添加了这样的命令:ggsave
system("/usr/local/bin/mogrify -trim -border 8 -bordercolor white output.png")
-trim
删除现有边距,并在绘图周围添加一个小的 8px 边距。-border 8 -bordercolor white
对于具有灰色背景的绘图,绘图边缘周围会留下一些白色像素,因此我使用该选项删除了一些额外的像素:-shave
system("/usr/local/bin/mogrify -trim -shave 4x4 output.png")
评论