在R中使用ggplot2,如何移除图形中的空白(即边距)?

5
我正在尝试使用R中的GGPLOT2绘制饼图。我想以一种省略额外边距空间的方式来完成这个任务。我所做的类似于sharoz在这篇文章中所做的(here),但我想包括一个图例。以下是我正在做的事情:
ggplot(DATA, aes(x=factor(0),fill=factor(LABELS),weight=VALUES)) +
   geom_bar(width=1) +
   coord_polar(theta='y') +
   guides(fill=guide_legend(title='LEGEND')) 

enter image description here

1个回答

5
假设你说的是图片上方和下方的额外空白,最简单的解决方法就是调整图形设备的大小。此处的纵横比是关键。如果图形设备的纵横比与绘图的一致,就可以消除很多空白部分。
我用来保存绘图的是 ggsave,代码如下:
ggplot(DATA, aes(x=factor(0),fill=factor(LABELS),weight=VALUES)) +
   geom_bar(width=1) +
   coord_polar(theta='y') +
   guides(fill=guide_legend(title='LEGEND')) 
ggsave("plot.png", width = 10, height = 5)

在使用ggsave时,您可以随意调整widthheight,直到您对结果满意为止。


我完全忘记了 ggsave()!我一直在使用 pdf()dev.off() 下的 ggplot(),但却没有得到我想要的结果。 - Chernoff
ggsave 在底层使用 pdf,因此使用 widthheight 的技巧也适用于它。 - Paul Hiemstra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接