如何在`bquote`表达式中使用`text`表示新行?

前端之家收集整理的这篇文章主要介绍了如何在`bquote`表达式中使用`text`表示新行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望在我的bquote环境中有一个新的界限,我该怎么做?

我的代码

test<-c(1,2,3,4,4.5,3.5,5.6)
test2<-0.033111111
plot(test,c(1:length(test)))

segments(4,23,col="red",lwd=2)
text(5,labels = bquote(Qua[0.99] == .(round(test2,4))),cex = 1.4)

我希望在等号后面有一个新的行,所以这应该给:

VaR_0.99 =

0.03311

and not

    VaR_0.99 = 0.03311

我尝试用线条,但它不起作用:

test<-c(1,5.6)
    test2<-0.033111111
    lines<-list(bquote(Qua[0.99] == ),bquote(.(round(test2,4))))
    plot(test,c(1:length(test)))

    segments(4,lwd=2)
    text(5,labels =lines,cex = 1.4)

解决方法

上面提到了其中一个错误. R表达式被解析,因此它们需要在语法上有效.由于“==”是一个双参数函数,因此它不能是表达式中的最后一项.幻像功能用作非打印的占位符.也可能是一个空字符值(“”).由于没有需要评估的“外部”值,我只使用表达式()而不是bquote()作为表达式列表中的第一个参数.

另一个更像是语义错误,而不是语法错误.您需要为第二个bquote表达式提供明确的y位置.几乎所有文本的重要参数都是向量能力的,但是对于y值似乎没有隐式的向上(或向下)索引:

test <- c(1,5.6)
test2 <- 0.033111111
lines <- c( expression(Qua[0.99] == phantom(0)),4)))
          )
plot(test,c(4.5,4),cex = 1.4)

我过去曾经使用过atop建议,甚至在Rhelp上建议它,但我认为上面的方法可以更好地推广到三个或更多表达式,并允许更多地控制定位. atop还默默地减少了字体大小,所以如果你去嵌套的atop路由进行三个表达式任务,它可能需要atop(atop(…,…),atop(…,phantom())来保持尺寸均匀.

猜你在找的HTML相关文章