如何在R中的ggplot图表中添加字幕并更改字体大小?

29

我尝试使用+opts(subtitle="文本")添加副标题,但没有显示出来。主标题可以正常工作 (+opts(title="文本"))。

我还想在轴(标签和坐标)上使用更大的字体,但我不知道如何做到。


对于第一个问题,这里有一个更好的答案:https://dev59.com/Fmgt5IYBdhLWcg3w7BkE - naught101
将一个问题标记为重复问题,因为有一个更新的问题似乎对我来说非常奇怪。那么为什么要将这个问题标记为重复呢? - Jaap
2个回答

46

theme_get() 会显示你可以在 opts() 中使用的“隐藏”选项,在0.91版本之后,它变成了theme()

当前:

theme(axis.text.x=element_text(size=X))
theme(axis.text.y=element_text(size=X))

0.91 版前:

opts(axis.text.x=theme_text(size=X))
opts(axis.text.y=theme_text(size=X))

更改大小,以您所需的大小为准。

关于标题,您可以使用“\n”将剩余文本移动到新行:

当前:

labs(title="text \n more text")

0.91版本之前:

opts(title="text \n more text") 

ggplot2没有“subtitle”功能。但是您可以在任何标签中使用\n术语来换行。


3
theme_text现已停用,请使用element_text替代。我希望能提供更多信息,但我自己正在搜索如何使用element_text。帮助文件仅为草稿。 - geneorama
尝试更新您的软件包。文档已经得到改进,我也更新了我的答案。 - Brandon Bertelsen

8
更新:ggplot版本2.2.0可以添加副标题,例如在 这篇博客文章中演示的那样。
示例:
library(ggplot2)
packageVersion("ggplot2")  ## 2.2.0
d <- data.frame(x=1:5,y=1:5)
ggplot(d,aes(x,y))+
    labs(title="abc",subtitle="def")+
    ## default left-aligned: moved them to center alignment
    theme(plot.title=element_text(hjust=0.5),
          plot.subtitle=element_text(hjust=0.5))

enter image description here


很好。它现在也可以做字幕,这也非常方便。 - PatrickT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接