通过引用向量在图表的标签中显示希腊字母

时间:2014-07-16 18:11:37

标签: r label

以下代码是plotmath帮助文件中的简化代码。希腊字母" phi"在剧情的标题中正确显示。

x <- seq(-4, 4, len = 101)
y <- cbind(sin(x), cos(x))

matplot(x, y, type = "l", xaxt = "n",
        main = expression(
          paste(sin * phi,
                "  and  ",
                cos * phi))
)

我试图引用&#34; phi&#34;它保存在&#34; myList&#34;的矢量中,但是&#34; phi&#34;未显示为希腊字母。我该如何解决?

myList <- c("phi")

matplot(x, y, type = "l", xaxt = "n",
        main = expression(
          paste(sin * myList[1],
                "  and  ",
                cos * phi)),
)

1 个答案:

答案 0 :(得分:0)

怎么样

myList <- expression(phi)

matplot(x, y, type = "l", xaxt = "n",
    main = bquote(sin * .(myList[[1]]) ~ " and " ~cos * phi)
)

主要的是你需要返回一个表达式。你不能混合像#34; phi&#34;表达并期望他们变成他们的表达对应物。这里bquote允许我们使用myList语法插入.()的值,从而帮助我们构建表达式。

请注意,如果您要向myList添加其他元素,请使用

myList <- expression(phi, beta)

matplot(x, y, type = "l", xaxt = "n",
    main = bquote(sin * .(myList[[2]]) ~ " and " ~cos * phi)
)

表达式已经是矢量/列表式的,因为它实际上是一组调用或符号。