繁体   English   中英

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

[英]R ggplot - set legend/axis sizes with ggsave

所以我有这样的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()选项来执行此操作,但是由于某些原因,图例在导出的文件中是如此之大。

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,而不能使标签太大或太小-我认为这没有任何解决方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM