ggplot:放大文本标签和放大绘图大小时

dat*_*dan 1 plot png r ggplot2

在生成绘图时,通常需要在导出时将这些绘图放大。这可以按如下方式完成:

png(filename = "plot_name.png", width=1000, height = 800)
print(plot)
dev.off()
Run Code Online (Sandbox Code Playgroud)

不幸的是,情节的元素没有随着它的整体大小而放大。这意味着我最终向 theme() 添加了一堆元素,如下所示。

theme(
  legend.position = "bottom",
  legend.title = element_text(size=20),
  plot.title = element_text(size = 30),
  axis.title = element_text(size=20),
  axis.text = element_text(size=15),
  legend.text = element_text(size=15)
 )
Run Code Online (Sandbox Code Playgroud)

有没有办法扩大情节的所有元素及其整体大小?

eip*_*i10 5

您可以base_size为任何给定主题设置 a以按比例放大所有文本。例如,theme_grey(base_size=15)ortheme_bw(base_size=20)等。如果您有一个名为 的 ggplot p1,只需执行p1 + theme_bw(base_size=20)

您还可以通过运行,例如,对 R 会话中的所有未来绘图执行此操作theme_set(theme_bw(base_size=20))

即使在设置之后base_size,您可能仍然想要调整一些东西。为了减少输入,您可以创建一个绘图元素列表,然后重复使用它。例如:

my_thm = list(theme(legend.position = "bottom",
                    legend.title = element_text(size=20),
                    plot.title = element_text(size = 30),
                    axis.title = element_text(size=20),
                    axis.text = element_text(size=15),
                    legend.text = element_text(size=15)),
              scale_y_continuous(limits=c(0,100)),
              scale_colour_manual(values=hcl(c(15,195),100,65)))
Run Code Online (Sandbox Code Playgroud)

然后,当您创建新图时,只需+ my_thm在末尾添加以添加my_thm. 如果你要同时使用一个总的主题(如theme_bw())与另外一起theme元素,请务必添加任何额外的theme元素 theme_bw(),如theme_bw()和其他一般的主题将覆盖任何一项theme要素。