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中图中的下标的主要内容,如果未能解决你的问题,请参考以下文章