ggplot:放大文本标签和放大图的大小

时间:2016-10-05 21:26:51

标签: r plot ggplot2 png

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

png(filename = "plot_name.png", width=1000, height = 800)
print(plot)
dev.off()

不幸的是,情节的元素并没有随着它的总体大小而扩大。这意味着我最终在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)
 )

是否有办法扩大情节的所有元素及其整体尺寸?

1 个答案:

答案 0 :(得分:1)

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

您也可以通过运行theme_set(theme_bw(base_size=20))来为R会话中的所有未来图表执行此操作。

即使设置了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)))

然后,当您创建新绘图时,只需在末尾添加+ my_thm即可添加my_thm中的所有绘图元素。如果您要同时使用一般主题(例如theme_bw())和其他theme元素,请确保在 {之后添加任何其他theme元素 {1}},theme_bw()和其他常规主题将覆盖任何前面的theme_bw()元素。