如何在R中保存绘图并使其美观

如何在R中保存绘图并使其美观,r,ggplot2,cowplot,R,Ggplot2,Cowplot,我正试图用一些数据和一个表格在R中绘制一个图。在R中,它看起来不错(图1),但是,当我导出图片(图2)时,它看起来非常难看,并且格式不同 library(tidyverse) library(cowplot) p <- ggplot(iris, aes(Sepal.Length, Petal.Length, col = Species)) + geom_point() info <- iris %>% group_by(Species) %>% summarise

我正试图用一些数据和一个表格在R中绘制一个图。在R中,它看起来不错(图1),但是,当我导出图片(图2)时,它看起来非常难看,并且格式不同

library(tidyverse)
library(cowplot)


p <- ggplot(iris, aes(Sepal.Length, Petal.Length, col = Species))  + geom_point()

info <- iris %>% group_by(Species) %>% summarise_all(mean)

table_plot <- tableGrob(info, theme = ttheme_default(base_size = 8), rows = NULL)

plot_total <- plot_grid(p, table_plot, nrow = 2, rel_heights = c(4 / 5, 1 / 5))
plot_total

save_plot("iris.png", plot_total)
库(tidyverse)
图书馆(cowplot)
p%汇总(平均值)
表\u绘图尝试:


另一种解决方案是使用ggsave:

ggsave("plotname.png", plot = p, width = 30, height = 20, units = "cm")
您可能需要对维度进行一些调整才能使其正确。您还可以指定绘图所需的格式(即png或.tiff等),也可以指定单位。

函数的
save_plot()
具有参数
base_height
base_aspect_ratio
,您可以进行调整(在您的情况下增加),直到得到所需的答案

例如,您可以执行以下操作:

save_plot("iris.png", plot_total, base_height = 8, base_aspect_ratio = 1.4)

您设置的
base\u height
越大,字体相对于图像大小的比例就越小。并且,您使
基宽比越大,图形相对于其高度的宽度就越大


我个人的意见是,你的绘图太大了,不适合你使用的字体大小,但这是另一个问题

你可以调整你的体形尺寸,字体大小等。这对我来说总是一个迭代的过程。我的建议是,如果您的目标是将图形输出为文件(.pdf、.png等),则在构建图形后立即开始处理文件的版本。屏幕输出是文件输出的一个不好的决定因素。嗯,
save\u plot
只是
ggsave
的一个包装,在我看来,有一些不同的参数可以使图形看起来更容易(因为大多数人考虑的是纵横比和整体大小,而不是宽度和高度)。但人们常常对此感到困惑。我可能不得不写更好的文档。
save_plot("iris.png", plot_total, base_height = 8, base_aspect_ratio = 1.4)