在gridarrange标题中的plotmath

时间:2017-01-12 03:32:02

标签: r ggplot2

我在列表中有ggplot图,比如说

plts <- list(plt1=qplot(1:10),plt2=qplot(2:3))

我想使用grid.arrange和标题绘制:

do.call(grid.arrange,c(plts,top='a title'))

困难在于我想在grid.arrange标题中使用一些plotmath表达式。如果我做

do.call(grid.arrange,c(plts,top=expression('a title[2]') ))

R将do.call的第二个参数强制转换为表达式而不是list,而do.call会抛出错误。我尝试手动将类设置为&#34; list&#34;但无济于事。什么是正确的方法?

1 个答案:

答案 0 :(得分:1)

根据grid.arrange的手册:

  

top可选字符串或grob

所以在oder中使用表达式,你应该提供一个grob。 例如,如果要将2绘制为下标:

library(grid)
grid.arrange(grobs = plts,top= grid.text(expression('a' ~ title[2])))
# or
do.call(grid.arrange, list(grobs = plts,top = grid.text(expression('a' ~ title[2])) ))