Subscript letters in ggplot axis label
我正在尝试找出如何在轴标签中使用下标字母。
1 2 3 4 5 6 7 8 9 | dat <- data.frame(x = rnorm(100), y = rnorm(100)) ggplot(dat, aes(x=x,y=y)) + geom_point() + labs(y=expression(Blah[1])) dat <- data.frame(x = rnorm(100), y = rnorm(100)) ggplot(dat, aes(x=x,y=y)) + geom_point() + labs(y=expression(Blah[1d])) |
第一个示例仅是一个数字而起作用,只要方括号中有一个字符,它就会失败。 Blah [subscript(1d)]本质上是我所需要的,但是我无法弄清楚如何让它在下标中包含字母。 我尝试了各种变体,包括
以下示例提供了奇怪的行为:
1 2 3 4 | labs(y=expression(Blah[12])) # this works labs(y=expression(Blah[d])) # this works labs(y=expression(Blah[d1])) # this works labs(y=expression(Blah[1d])) # this fails |
有什么想法吗?
最后一个失败的原因是表达式的参数通过R解析器运行。字符串或令牌
1 2 3 4 5 6 | ggplot(dat, aes(x=x,y=y)) + geom_point() + labs(y=expression(Blah[1*d])) ggplot(dat, aes(x=x,y=y)) + geom_point() + labs(y=expression(Blah["1d"])) |
R中的标记(或"名称"或"符号")不应以数字开头。因此,您可以通过引用或使用非空格分隔符
要获得不下标的百分号:
1 2 3 | ggplot(dat, aes(x=x,y=y)) + geom_point() + labs(y=expression(Blah[1*d]*"%")) |
将括号放在pct符号周围:
1 | expression(Blah[1*d]*"(%)") |
1 | ?Reserved |
另外一个"技巧"是如果需要将其用斜体字括起来,请在
注意事项:
好的。我发誓,尽管我很快就收到了它,但我并没有发布它只是为了自己回答(总是问你问题的方式!)
这里是:
1 2 3 | ggplot(dat, aes(x=x,y=y)) + geom_point() + labs(y=expression(Blah[1][d])) |
认为最好发布答案而不是删除问题,因为这可能有一天会帮助其他人。
除了"布拉斯",我真正想要的是
为什么