110

我找不到如何在标题中写下标或在 R 中写下标的方法。如何用 1,2 作为下标写 v 1,2?

谢谢你的帮助!

4

6 回答 6

156

expression是你的朋友:

plot(1,1, main=expression('title'^2))  #superscript
plot(1,1, main=expression('title'[2])) #subscript
于 2012-04-14T19:05:44.700 回答
136

如果您希望在一个文本中包含多个下标,请使用星号 (*) 分隔各个部分:

plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'[2]))
于 2014-05-21T09:15:11.280 回答
30

见 ? 表达式

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

在此处输入图像描述

于 2012-04-14T19:07:06.923 回答
12

下标并引用存储的值...

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))))

在此处输入图像描述

于 2016-04-12T09:12:43.323 回答
7

另一个例子,表达式适用于负上标,不需要在负数周围加上引号:

title(xlab=expression("Nitrate Loading in kg ha"^-1*"yr"^-1))

并且您只需要 * 来分隔上面提到的部分(当您编写上标或下标并且需要在之后的表达式中添加更多文本时)。

于 2016-09-21T18:32:22.903 回答
7

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

如何用 1,2 作为下标写 v 1,2?

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

另外,我想为那些希望expression在绘图中找到完整语法的人添加参考R:有关更多信息,请参阅?plotmath帮助页面。运行demo(plotmath)将展示许多表达式和相关语法。

请记住用于*在表达式中连接不同类型的文本。

以下是来自的一些示例输出demo(plotmath)

在此处输入图像描述

于 2018-11-26T15:32:07.970 回答