我在列表中有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;但无济于事。什么是正确的方法?
答案 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])) ))