【问题标题】:How to automate graph axis labeling with plotmath expressions?如何使用 plotmath 表达式自动标记图轴?
【发布时间】:2018-08-06 11:38:54
【问题描述】:

我正在尝试使用ggplot2 创建多个图形,方法是使用其绘图函数的多个实例,并为每个函数分配适当的 y 轴标签(使用 plotmath)。下面是一些演示我失败的解决方案的代码。 (注意愚蠢)

library(tidyverse)

df <- tibble(
  measure = c('Current', 'Resistance', 'Volts'),
  mean = c(532, 42, 50),
  sd = c(45, 6, 8),
  ylabel = c('Amps (A)', 'Ohms (Omega)', 'Volts (V)')
)

for (i in 1:3)) {
  g <- ggplot(df[i,], aes(x = measure, y = mean)) + 
    geom_point(size = 7) +
    geom_errorbar(aes(ymax = mean + sd, ymin = mean - sd), width = .25) +
    ylab(expression(df[i,]$ylabel))

  ggsave(g, paste0('~/Desktop/', df$measure[i]))

}

我遇到了expression() 及其特殊字符放置的问题。您将如何解决这个问题?

【问题讨论】:

    标签: r labels plotmath


    【解决方案1】:

    尝试parse 而不是expression

    ylab(parse(text = df[i, ]$ylabel))
    

    【讨论】:

    • 感谢它的工作!但是,它会删除例如“Ohms”和“Omega”之间的间距。有没有办法保持间距?
    • 哦,对了,我没看到。您可以尝试将"Ohms (Omega)" 替换为"Ohms~ ~(Omega)"
    • 谢谢!像魅力一样工作!
    猜你喜欢
    • 2018-05-24
    • 2020-03-23
    • 2013-08-09
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多