【问题标题】:Labels with correct indices and values具有正确索引和值的标签
【发布时间】:2013-07-02 03:26:21
【问题描述】:

我想设置标签:它应该总是“n”(对于观察的数量) 但每个绘图元素都有正确的索引和值。

例如,在下面的简单示例中:

plot(1:4)
value<-c(10,20)
index<-c("a","b")
axis(3,at=c(2,3),labels=n?)

我应该怎么做,让第一个 n 有索引“a”和值 10,第二个索引“b”和值 20?

编辑:

axis(3,at=c(2,3),
       labels=c(eval(substitute(expression(n==value), 
                                list(value=value[‌​1]))),
                eval(substitute(expression(n==value),
                                list(value=value[2])))))

【问题讨论】:

  • 嗨,我想使用 n,但使用来自另一个向量的索引和值,“索引”和“值”。对于我会使用的值:axis(3,at=c(2,3),labels=c(eval(substitute(expression(n==value),list(value=value[1]))),eval(替代(表达式(n==值),列表(值=值[2])))))

标签: r plot label plotmath


【解决方案1】:

您想要做什么并不完全清楚。但很可能您需要使用 ?expression 和 ?substitute 来完成这项工作。这应该可以帮助您开始:

plot(1:4)
value<-c(10,20)
index<-c("a","b")

lab <- rep(expression(paste("n"[index], "=", value, sep="")),2)

for (i in 1:length(lab)) {
  lab[i] <- eval(substitute(substitute(expr, list(value=value[i], index=index[i])), list(expr= as.call(lab[i]))))
}

axis(3,at=c(2,3),labels=lab)

【讨论】:

  • 看起来很棒!谢谢,我会尝试在我的函数中实现它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-18
  • 2014-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多