3

我正在尝试在 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)

图片1

图2

4

3 回答 3

2

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

ggsave("plotname.png", plot = p, width = 30, height = 20, units = "cm")

您可能需要稍微调整一下维度才能使其正确。您还可以指定绘图的格式(即 .png 或 .tiff 等),也可以指定单位。

于 2017-08-01T15:41:33.283 回答
1

save_plot()函数有参数base_heightbase_aspect_ratio您可以调整(在您的情况下增加),直到您得到您想要的答案。

例如,您可以这样做:

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

在此处输入图像描述

你做base_height的越大,字体相对于图像大小就越小。而且你做的越大base_aspect_ratio,相对于它的高度来说,这个数字就越宽。

我个人的看法是,您使绘图对于您使用的字体大小来说太大了,但这是一个单独的问题。

于 2017-11-29T15:23:15.433 回答
1

尝试:

png('iris.png', width = 1920,height = 1080)
print(plot_total)
dev.off()
于 2017-08-01T14:10:36.050 回答