在绘图周围裁剪出 ggplot2 空白
Crop out ggplot2 whitespace around plot
在使用 coord_fixed()
更改形状后,是否有办法去除 ggplot2 图周围的白色 space?我希望将上方和下方的白色 space 剪掉,以便只保留绘图区域和轴标签。我在不保存的情况下在 R markdown 文件中渲染绘图输出。
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p + coord_fixed(ratio = 1)
下面的代码生成以下图:
当您使用时:
ggplot(mtcars, aes(mpg, wt)) +
geom_point() +
coord_fixed(ratio = 1) +
ggsave('plot.jpg', width = 6, height = 1.5, dpi = 300)
你得到一个白色较少的情节space:
另一种选择是使用 png 或 jpeg 设备:
p <- ggplot(mtcars, aes(mpg, wt)) +
geom_point() +
coord_fixed(ratio = 1)
jpeg('plot.jpg', width = 600, height = 150)
p
dev.off()
如果您正在寻找一种也适用于 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
另请参阅 this blog post 了解更多详情。
Session 信息:
MacOS 10.13.6,R 3.6.3,ggplot2_3.3.1
在使用 coord_fixed()
更改形状后,是否有办法去除 ggplot2 图周围的白色 space?我希望将上方和下方的白色 space 剪掉,以便只保留绘图区域和轴标签。我在不保存的情况下在 R markdown 文件中渲染绘图输出。
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p + coord_fixed(ratio = 1)
下面的代码生成以下图:
当您使用时:
ggplot(mtcars, aes(mpg, wt)) +
geom_point() +
coord_fixed(ratio = 1) +
ggsave('plot.jpg', width = 6, height = 1.5, dpi = 300)
你得到一个白色较少的情节space:
另一种选择是使用 png 或 jpeg 设备:
p <- ggplot(mtcars, aes(mpg, wt)) +
geom_point() +
coord_fixed(ratio = 1)
jpeg('plot.jpg', width = 600, height = 150)
p
dev.off()
如果您正在寻找一种也适用于 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
另请参阅 this blog post 了解更多详情。
Session 信息: MacOS 10.13.6,R 3.6.3,ggplot2_3.3.1