另一个发布的图表,另一天在ggplot2中调整了一些东西......我在唠叨?我不确定...
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 [下标(1d)]基本上就是我需要的,但我无法弄清楚如何让它让我在下标中写字母 . 尝试了各种变体,包括paste()等 .
当然,要增加挫折......
labs(y=expression(Blah[12]))
- 这很有效
labs(y=expression(Blah[d]))
- 这很有效
labs(y=expression(Blah[d1]))
- 这很有效
labs(y=expression(Blah[1d]))
- 这失败了 .
思考?
2 回答
我可以想到比使用
paste
更好的两种方法:R中的标记(或"names"或"symbols")不应以数字开头 . 因此,您可以通过引用或通过非空格分隔符
*
运算符分隔1
和d
来绕过该限制 . "joins"或"ligates"是具有合法R符号或标记的纯数字文字 .要获得取消订阅的百分号,只需:
将parens放在pct-sign周围:
%
字符在R解析中具有特殊含义,因为它表示用户定义的中缀运算符的开头 . 因此,将其用作文字需要引用它 .好的 . 虽然我有多快得到它(当你问一个问题的时候总是这样!我在这里说:
最好发布答案而不是删除问题,因为它可能有助于其他人 .
'Blahs'除了我真正想要的是
expression(paste("Hb", A[1][c]," (%)",sep=""))
为什么
paste0()
在这里不起作用超出了我的范围 .