Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用ggplot添加动态字幕_R_Ggplot2 - Fatal编程技术网

R 使用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

我正在尝试使用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"))