R中图中的下标

Posted

技术标签:

【中文标题】R中图中的下标【英文标题】:Subscripts in plots in R 【发布时间】:2012-04-26 17:42:15 【问题描述】:

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

感谢您的帮助!

【问题讨论】:

【参考方案1】:

expression是你的朋友:

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

【讨论】:

如何从变量中加载“2”?我有一个循环,需要绘制 x_[1] x_[2] x_[3] ... 您可以在使用下标变量时使用bquote。比如说nIter <- 2,那么plot(1, 1, main = bquote(title[.(nIter)])) 正是你所需要的(取自R-help mailing list)。【参考方案2】:

见?表达式

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

哇,对一个两年前的问题的两天前的回答,结果证明这正是我所需要的。谢谢! 如果你希望下标是一个字符串,只要把它放在引号里:plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'['down here']*'and'^'up'*'there')) 这是一个很好的提示,因为您可以将[digits][characters] 甚至[a5] 放在下标中,但不能将[5a][a a]。我最近发现了这个:expression('x'['10sdt'])【参考方案4】:

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

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

【讨论】:

【参考方案5】:

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

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

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

【讨论】:

感谢您明确解释 * 的作用!【参考方案6】:

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

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

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

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

记得使用* 在表达式中连接不同类型的文本。

这是demo(plotmath) 的一些示例输出:

【讨论】:

以上是关于R中图中的下标的主要内容,如果未能解决你的问题,请参考以下文章

如何将多维下标存储为R中的变量

R:绘图轨迹图的轴标签中的下标

R语言ggplot2可视化为轴标签添加下标实战:符号下标百分比下标带括号的下标

R: '无效的下标类型符号'

在 R markdown 中生成下标

R:下标赋值不覆盖值,或更改所有值(半算出来)