7

嗨,我是 R 新手,所以如果这是一个非常基本的问题,我深表歉意。我正在尝试在 x 轴上的点 11 和 y 轴上的点 900 处将文本添加到绘图中,该点将以t0= -4.02800 作为下标读取。在哪里t0 <- -4.0280 做这个我试过:

text(11,900,paste("t[0]=",t0),cex=0.8) 
# which gives 
't[0]= -4.0280'

text(11,900,expression(paste("t[0]=",t0)),cex=0.8) 
# which gives 
't[0]=t0'

# the closest I've gotten is:    
text(11,900,expression(paste(t[0]==t0)),cex=0.8)

它将使用下标但返回t0而不是我的值 -4.0280。

谁能告诉我我哪里出错了?

干杯。

4

2 回答 2

5

您可以替换expressionsubstitute. 没有必要paste。该参数list(t0 = t0)告诉用对象的值substitute替换字符串:t0t0

plot(1,1)

t0 <- 1.3

text(1, 0.8, substitute(t[0]==t0, list(t0 = t0)), cex = 0.8)

在此处输入图像描述

于 2013-03-21T07:33:11.803 回答
5

substitute比is with略短bquote

plot(1,1)
t0 <- -4.0280
text(1, 0.8, bquote("t"[0] ~ "=" ~ .(t0)))

如果你想paste在那里使用:

text(1, 0.8, (bquote("t"[0]~.(paste0('=',t0)))))

在此处输入图像描述

这种Q之前就出现过:

在 R 的轴标题中同时使用下标和变量值

连接绘图标题中的字符串和表达式

于 2013-03-21T07:43:17.317 回答