【问题标题】:Plotting axis labels with Greek symbols from a vector从向量中绘制带有希腊符号的轴标签
【发布时间】:2012-05-23 19:50:11
【问题描述】:

我正在努力尝试将希腊符号绘制为轴标签。由于要循环几个不同比例的图,我想使用一个包含符号名称的向量,而不是在expression() 中使用符号名称,这样可以正常工作:

x <- rnorm(10, 5,6)
y <- rnorm(10, 2,1)
xlab <- expression(paste(mu, "mol/mol"))
plot(x,y, xlab = xlab)

由于某种原因,我无法将“mu”替换为包含符号名称的向量:

k <- "mu"
xlab <- expression(paste(get(k), "mol/mol"))
plot(x,y, xlab = xlab)

我找到了一个类似的question,但对函数有效的方法似乎不适用于希腊符号:

ylab <- substitute(paste(nn, "mol/mol"), list(nn=k))
xlab <- bquote(.(k) * "mol/mol")

plot(x,y, ylab = ylab, xlab = xlab)

我做错了什么?如何通过向量获取希腊符号到轴标签?

【问题讨论】:

  • 表达式是一个原始函数。它不评估它的论点。
  • this Q&A 有帮助吗?
  • @fotNelton:这至少行不通:ylab
  • 请注意,问题的真正原因在于k = "mu" 是您希望将其解释为表达式的字符串。如果你有k = quote(mu),那么xlab = bquote(.(k)*mol/mol) 就可以了。
  • @Largh:可能有一点误解。我的意思是指出您使用parse

标签: r plot label symbols


【解决方案1】:

试试这个:

xlab = parse(text=paste(k, "*mol/mol"))

【讨论】:

  • 有人可以解释为什么* 是必要的以及它的作用吗?
  • ?plotmath 建议在x*y 中用于“x 和 y 并列”,即一个接一个(没有空格)。
  • ~ 会增加空间,以防您需要
猜你喜欢
  • 2014-11-10
  • 1970-01-01
  • 2016-02-26
  • 1970-01-01
  • 2012-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-03
相关资源
最近更新 更多