ggplot2中的符号中断

时间:2015-10-16 03:44:19

标签: r ggplot2

我的数据中包含单词alpha,我想使用ggplot2将符号中的alpha渲染为符号。

df <- data.frame(Method = c("Method (alpha = 0.01)", "Method (alpha = 0.05)"),
                 Value = c(2,3))

ggplot(df, aes(x = Method,
               y = Value)) +
  geom_point()

enter image description here

我在网站上找不到这个,但我认为这不会是一个难题。我可以使用expression中的ggplot2::xlab命令在中断中获取单个值,但我无法弄清楚如何创建表达式向量。例如,代码

c(expression("Method (alpha = 0.01)"),
+ expression("Method (alpha = 0.05)"))

作为输出

expression("Method (alpha = 0.01)", "Method (alpha = 0.05)")

1 个答案:

答案 0 :(得分:1)

您可以使用parse,如下所示。我认为这比写出表达式列表更容易。

修改

增加“方法”与其余部分之间的空间,

df$Method <- gsub("Method", "Method~", as.character(df$Method))

然后,绘制

ggplot(df, aes(x = Method, y = Value)) +
  geom_point() +
  scale_x_discrete(labels = parse(text=gsub('=','==',as.character(df$Method))))

ggplot(df, aes(x = Method, y = Value)) +
  geom_point() +
  scale_x_discrete(labels = parse(text=paste("alpha", c(0.01, 0.05), sep="==")))

第一个结果, enter image description here