R ggplot-使用ggsave设置图例/轴尺寸

时间:2019-05-10 06:25:26

标签: r ggplot2

所以我有这样的df

df <- read.table(text="
   amount      nr      date
   50          1       2017-01-01
   150         1       2017-01-03
   1500        2       2017-01-04
   1450        2       2017-01-04
   1250        2       2017-01-04
   950         1       2017-02-05
   120         3       2017-02-06
   300         3       2017-04-06
", header=TRUE)

我从此df创建了一个情节

ggplot(test, aes(x = date, y = amount, fill = nr, group = 1)) +
  geom_bar(stat = "identity")

一切正常,直到我用下面的代码保存此图

ggsave(filename="D:/Documents/units_plot.png", width = 4, height = 2)

我不知道如何正确设置图像尺寸(应为1000x500px)以及如何为图例设置文本尺寸,轴文本尺寸。通常我通过ggplot中的theme()选项来执行此操作,但是由于某些原因,图例在导出的文件中是如此之大。

1 个答案:

答案 0 :(得分:1)

ggplot的尺寸计算基于图像打印后的物理尺寸。要获得一定的像素大小,您需要为DPI(每英寸的像素数)选择一个合适的值,然后使用该值来计算大小:

ggplot(test, aes(x = date, y = amount, fill = nr, group = 1)) +
    geom_bar(stat = "identity") +
    theme_grey(base_size = 12)

dpi = 96
ggsave(filename="units_plot.png", width = 1000 / dpi, height = 500 / dpi,
       dpi = dpi)

如果您选择不同的DPI值,则必须测试哪种字体大小适用于该DPI,而不能使标签太大或太小-我认为这没有任何解决方法。