R中绘图中的下标

119

我找不到一种在R中在标题或副标题中写下标的方法。 如何将v 1,2 写成带有下标的形式?

感谢您的帮助!

6个回答

164

expression 是你的朋友:

plot(1,1, main=expression('title'^2))  #superscript
plot(1,1, main=expression('title'[2])) #subscript

3
如何从变量中读取“2”?我有一个循环,需要绘制x_[1],x_[2],x_[3] ... - 0x2207
8
当涉及到下标变量时,你可以使用 bquote 函数。例如,假设你有一个变量 nIter <- 2,那么 plot(1, 1, main = bquote(title[.(nIter)])) 正是你需要的(摘自R-help mailing list)。 - fdetsch

142

如果您想在一段文本中使用多个下标,请使用星号(*)来分隔这些部分:

plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'[2]))

6
哇,对于一个两年前的问题,竟然有一份两天前的回答,而且正好是我所需要的。谢谢! - Michael
3
如果你希望下标为字符串,只需将其用引号括起来: plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'['down here']*'and'^'up'*'there')) - Stewart Macdonald
1
иҝҷжҳҜдёҖдёӘеҘҪзҡ„жҸҗзӨәпјҢеӣ дёәдҪ еҸҜд»ҘеңЁдёӢж Үдёӯж”ҫзҪ®[digits]жҲ–[characters]з”ҡиҮі[a5]пјҢдҪҶдёҚиғҪж”ҫзҪ®[5a]жҲ–[a a]гҖӮжҲ‘жңҖиҝ‘еҸ‘зҺ°дәҶиҝҷдёӘз”Ёжі•пјҡexpression('x'['10sdt'])гҖӮ - Cyrille

34

查看?expression

plot(1:10,main=expression("This is a subscript "[2]))

在此输入图片描述


13

下标是指向一个存储的值的引用...

a <- 10
plot(c(0,1), c(0,1), type = 'n', ann = FALSE, xaxt = 'n', yaxt = 'n')
text(0.2, 0.6, cex = 1.5, bquote(paste('S'['f']*' = ', .(a))))

输入图片描述


7
另一个例子,表达式也适用于负上标,无需在负数周围加引号:
title(xlab=expression("Nitrate Loading in kg ha"^-1*"yr"^-1))

当您编写上标或下标并需要在表达式后添加更多文本时,只需使用*分隔各个部分(如上所述)。


1
感谢您明确解释*的作用! - Lalochezia

7

正如其他用户所指出的,我们使用expression()。我想回答原始问题,其中包括下标中的逗号:

我如何将v 1,2写成带有1,2下标的形式?

plot(1:10, 11:20 , main=expression(v["1,2"]))

此外,我想为那些寻找完整R绘图表达式语法的人添加参考资料:更多信息请参阅?plotmath帮助页面。运行demo(plotmath)将展示许多表达式和相关语法。
请记住使用*来连接表达式中不同类型的文本。
这是demo(plotmath)的一些样例输出:

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接