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)
下面的代码生成以下图表:
如果您正在寻找一个也适用于 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
当您使用:
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)