Sta*_*ian 9 r data-visualization plotmath
我希望在我的bquote环境中有一个新的界限,我该怎么做?
我的代码:
test<-c(1,2,3,4,4.5,3.5,5.6)
test2<-0.033111111
plot(test,c(1:length(test)))
segments(4,0,4,23,col="red",lwd=2)
text(5, 4.5, labels = bquote(Qua[0.99] == .(round(test2,4))),col="red", cex = 1.4)
Run Code Online (Sandbox Code Playgroud)
我希望在等号后面有一个新行,所以这应该给:
VaR_0.99 =
0.03311
and not
VaR_0.99 = 0.03311
Run Code Online (Sandbox Code Playgroud)
我尝试用线条,但它不起作用:
test<-c(1,2,3,4,4.5,3.5,5.6)
test2<-0.033111111
lines<-list(bquote(Qua[0.99] == ),bquote(.(round(test2,4))))
plot(test,c(1:length(test)))
segments(4,0,4,23,col="red",lwd=2)
text(5, 4.5, labels =lines ,col="red", cex = 1.4)
Run Code Online (Sandbox Code Playgroud)
上面提到了其中一个错误.R表达式被解析,因此它们需要在语法上有效.由于"=="是一个双参数函数,因此它不能是表达式中的最后一项.该phantom函数用作非打印的占位符.也可能是一个空字符值("").由于没有需要评估的"外部"值,我只是使用expression()而不是bquote()表达式列表中的第一个参数.
另一个更像是语义错误,而不是语法错误.您需要为第二个bquote表达式提供明确的y位置.几乎所有文本的重要参数都是向量能力的,但是对于y值似乎没有隐式的向上(或向下)索引:
test <- c(1, 2, 3, 4, 4.5, 3.5, 5.6)
test2 <- 0.033111111
lines <- c( expression(Qua[0.99] == phantom(0)) ,
bquote(.(round(test2,4)))
)
plot(test,c(1:length(test)))
segments(4,0,4,23,col="red",lwd=2)
text(5, c(4.5, 4), labels =lines ,col="red", cex = 1.4)
Run Code Online (Sandbox Code Playgroud)

我过去曾经使用过这个atop建议,甚至在Rhelp上提出过建议,但我认为上面的方法可以更好地概括为三个或更多表达式,并允许更多地控制定位.atop还可以默默地减小字体大小,因此如果您使用嵌套的atop路由进行三个表达式任务,则可能需要atop( atop(..., ...), atop(..., phantom() )保持大小均匀.
例如,使用atop:
test<-c(1,2,3,4,4.5,3.5,5.6)
test2<-0.033111111
plot(test,c(1:length(test)))
segments(4,0,4,23,col="red",lwd=2)
text(5, 4.5,
labels = bquote(atop(Qua[0.99] == phantom(), .(round(test2,4)))),
col="red", cex = 1.4)
Run Code Online (Sandbox Code Playgroud)
