如何为bquote传递一串符号以在ggplot中求值?

时间:2019-06-20 20:56:22

标签: r ggplot2

我在函数中创建的ggplot的轴标签有所不同。一些标签带有上标/下标,而另一些则没有。示例:

  m.data <- data.frame(x = runif(10), y = runif(10))
  x.labs <- c("rain, mm", "light*','~W~m^-2")  
  for (i in 1:2) {
     ggplot(m.data, aes(x = x, y = y)) +
        labs(title = bquote(.(x.labs[i])))
  }

i = 2时图形的标题是字面意义

light *','〜W〜m ^ -2

而不是相同的格式化版本。以相同的结果,我还尝试在每个字符串中移动bquote。

 x.labs <- c("bquote(rain*','~mm)", "bquote(light*','~W~m^-2)")

 title = x.labs[i]  

在关于ggplot和bquote的许多问题中,似乎没有一个解决通过上标指示符之类的符号传递的问题。

1 个答案:

答案 0 :(得分:1)

一种选择是在标题向量中使用expression()而不是bquote()

例如

x.labs <- c("rain, mm", expression("light,"~W~m^-2))

ggplot(m.data, aes(x = x, y = y)) +
    labs(title = x.labs[2])

enter image description here