在绘图周围裁剪出ggplot2空格

0mm*_*mm3 6 whitespace r margin crop ggplot2

有什么方法可以在使用coord_fixed()?更改形状时删除ggplot2图周围的空白区域?我希望将上方和下方的空白区域裁剪掉,以便仅保留绘图区域和轴标签.我在没有保存的情况下在R markdown文件中渲染绘图输出.

 p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
 p + coord_fixed(ratio = 1)
Run Code Online (Sandbox Code Playgroud)

下面的代码生成以下图表:

情节与白色空间

mav*_*cks 7

如果您正在寻找一个也适用于 R markdown 的解决方案(即输出为 PDF/HTML),这为我解决了这个问题:首先设置宽高比,然后通过设置删除顶部的附加边距theme()

library(ggplot2)
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, shape = Species, color = Species)) + 
  geom_point(size = 5) + 
  coord_fixed(ratio = 1/2) +
  theme(plot.margin=unit(c(-0.30,0,0,0), "null")) # remove margin around plot
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

另请参阅此博客文章了解更多详细信息。

会话信息:MacOs 10.13.6、R 3.6.3、ggplot2_3.3.1


h3r*_*m4n 5

当您使用:

ggplot(mtcars, aes(mpg, wt)) + 
  geom_point() + 
  coord_fixed(ratio = 1) +
  ggsave('plot.jpg', width = 6, height = 1.5, dpi = 300)
Run Code Online (Sandbox Code Playgroud)

你得到一个空白较少的情节:

在此处输入图片说明

另一种选择是使用 png 或 jpeg 设备:

p <- ggplot(mtcars, aes(mpg, wt)) + 
  geom_point() + 
  coord_fixed(ratio = 1)

jpeg('plot.jpg', width = 600, height = 150)
p
dev.off()
Run Code Online (Sandbox Code Playgroud)