包括plotmath表情文字控制字符(Include text control characters

2019-07-21 05:18发布

有没有什么办法让控制字符的文本字符串,如"\n"newline一个plotmath表达式内评估,反之亦然。 在下面的例子中,我想结合:

  • 一些字符文本
  • 文本控制字符(行)
  • 替代变量名
  • 包括plotmath表达

看完这个问题 ,我可以得到最有与替补的方式,但newline字符不进行评估。 现在我转圈圈,并混淆自己plotmathparsebquotesubstitute 。 在帮助页面的plotmath它说

控制字符(例如\ n)的在字符串不被解释在plotmath,不同于正常打印。

这是否意味着它真的是不可能的?

lab = "some data"
form = "Exponential"
x = 1:10
y = x^2


plot( x , y , type = "b" )
title( main = substitute( paste( "Plot of " , phi , " of: "  , lab , "\nFunctional form: " , form ) , list(lab = lab , form = form ) ) , adj = 0 )

Answer 1:

当你想通plotmath不支持内换行,但是你可以使用mtextbquote ,写每一行。 例如,我创建行的列表:

Lines <- list(bquote(paste( "Plot of " , phi , " of: "  , .(lab))),
              bquote(paste("Functional form: " , .(form)))

mtext(do.call(expression, Lines),side=3,line=1:0)



Answer 2:

如果您使用的网格图形,然后将下面的GROB可以根据自己的身高线是有用的空间,

library(devtools)
source_gist(2732693)
grid.expr(as.expression(Lines))

(使用agstudy的线)



Answer 3:

为了完整起见,这里是另一种解决方案使用Unicode和没有表情(摘自这里和这里 ):

plot(x, y, type="b")
title(main=paste("Plot of \u03A6 of:", lab, "\nFunctional form:", form), adj=0)



文章来源: Include text control characters in plotmath expressions