R 使用ggplot添加动态字幕
我正在尝试使用ggplot添加字幕。这里提出了类似的问题:,答案如下:R 使用ggplot添加动态字幕,r,ggplot2,R,Ggplot2,我正在尝试使用ggplot添加字幕。这里提出了类似的问题:,答案如下: p <- p + ggtitle(expression(atop(paste('TITLE'), atop(italic(paste('SUBTITLE')), "")))) 我想关于如何正确添加动态字幕的问题可以归结为:是否可以在表达式内部和顶部使用字符变量?您应该使用函数bquote()而不是expression()来使用存储为变量的标题。变量名应该放在( 更新-ggplot2版本2.2.1 最新的ggplot
p <- p + ggtitle(expression(atop(paste('TITLE'), atop(italic(paste('SUBTITLE')), ""))))
我想关于如何正确添加动态字幕的问题可以归结为:是否可以在表达式内部和顶部使用字符变量?您应该使用函数
bquote()
而不是expression()
来使用存储为变量的标题。变量名应该放在(
更新-ggplot2版本2.2.1
最新的ggplot2版本现在可以直接生成字幕,因此您不必使用bquote()
和expression()
。通过函数labs()
的参数subtitle=
查看结果
使用链接问题的@baptiste答案-只需将其应用于最新的ggplot2版本-它还应适用于内部变量titles@DidzisElferts“opts”已弃用。改为使用“主题”。我想我可以使用OPT,但使用不推荐的东西似乎是一种治标不治本的方法。让我们等一下,也许其他人会有其他想法…@DidzisElferts我以为我有最新的版本请冷静,不明白为什么你不能让其他人提出想法…@DidzisElferts好的,但给我一些时间试试。。。感谢您的帮助,更新了@baptiste对上一个问题的回答,现在不会有关于opts()的警告哇,你就是那个人!回答得好,技巧也不错!这样一个优雅的解决方案,比长主题更优雅,选择了范例:-)为了插入第三级注释,我修改了如下代码:ggplot(mtcars,aes(disp,mpg))+geom_point()+ggtitle(bquote(top((plot.title),top(italic((plot.subtitle)),“第三级标题不可能使用参数”))。还有别的办法吗?
plot.title = 'TITLE'
plot.subtitle = 'SUBTITLE'
p <- p + ggtitle(expression(atop(paste(plot.title), atop(italic(paste(plot.subtitle)), ""))))
plot.title = 'TITLE'
plot.subtitle = 'SUBTITLE'
ggplot(mtcars,aes(disp,mpg))+geom_point()+
ggtitle(bquote(atop(.(plot.title), atop(italic(.(plot.subtitle)), ""))))
ggplot(mtcars,aes(disp,mpg))+geom_point()+
labs(title = plot.title,subtitle = plot.subtitle) +
theme(plot.subtitle = element_text(face = "italic"))