创建灵活的 ggplot2 主题,1) 使图例和标题更大,2) 无论最终尺寸如何,看起来都不错

Create flexible ggplot2 theme that 1) makes the legend and titles larger, 2) will look good irrespective of the final dimensions

我目前是公司中为数不多的 R 用户之一,公司主要由 stata 用户组成。我在使用 ggplot2 绘图时遇到的一个问题是默认 (theme_grey()) 设置的轴字体和图例比在 stata 中找到的要小得多。此外,在演示文稿中,我发现人们很难从远处阅读图例和标题。

我知道 ggplot2 有一个允许相对大小调整的主题系统。我最想做的是创建一个新的默认主题,我将其应用到我的所有绘图中,使图例和轴标题更大。然而,重要的是,我制作的图表在输出为 pdf 时通常具有不同的尺寸(例如 8 英寸 x 10 英寸)或(10 英寸 x 13 英寸)。因为我想在全球范围内应用这个主题,所以我需要它来生成 good/easy 来读取输出,而不管我在输出到 pdf 时指定的尺寸如何。

对于如何使用 ggplot2 的主题系统 this/how 解决问题的任何建议,我将不胜感激。

谢谢!

主题系​​统可以轻松缩放所有(主题)文本,但无法以设备大小感知的方式进行缩放。包括 theme_bw() 在内的各种主题集都有一个参数 base_size,它是用于文本的字体的基线大小(以磅为单位)。有些文本以该大小呈现,有些文本以相对于该大小的大小呈现(例如,轴标签和图例标签以基线大小的 80% 呈现)。因此,通过指定 base_size 参数,您可以缩放所有文本。

但是,base_size 是绝对点数,而不是相对于设备大小的大小。所以设备尺寸越大,文字相对于那个越小。