另一个发布的图表,另一天在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]))
Run Code Online (Sandbox Code Playgroud)
我正在尝试弄清楚如何在轴标签中加下标字母.第一个例子只是一个数字,只要你在方括号中有一个字符就会失败.Blah [下标(1d)]基本上就是我需要的,但我无法弄清楚如何让它让我在下标中有字母.尝试了各种变体,包括paste()等.
当然,要增加挫折......
labs(y=expression(Blah[12])) - 这很有效
labs(y=expression(Blah[d])) - 这很有效
labs(y=expression(Blah[d1])) - 这很有效
labs(y=expression(Blah[1d])) - 这失败了.
思考?
42-*_*42- 66
我可以想到两种比使用更好的方法paste:
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"]))
Run Code Online (Sandbox Code Playgroud)
R中的标记(或"名称"或"符号")不应以数字开头.所以,你要么通过引述或通过分离避开这一限制1,并d通过非空格分隔符,该*运营商.将"纯数字文字"与"合法R"符号或标记"连接"或"连接".
要获得取消订阅的百分号,只需:
ggplot(dat, aes(x=x,y=y)) +
geom_point() +
labs(y=expression(Blah[1*d]*"%"))
Run Code Online (Sandbox Code Playgroud)
将parens放在pct-sign周围:
expression(Blah[1*d]*"(%)")
Run Code Online (Sandbox Code Playgroud)
该%字符在R解析中具有特殊含义,因为它表示用户定义的中缀运算符的开头.因此,将其用作文字需要引用它.
好的.虽然我很快得到它(当你问一个问题的时候总是如此!我在这里说:
ggplot(dat, aes(x=x,y=y)) +
geom_point() +
labs(y=expression(Blah[1][d]))
Run Code Online (Sandbox Code Playgroud)
最好发布答案而不是删除问题,因为它可能有助于其他人.
抛开'Blahs',我真正想要的是 expression(paste("Hb", A[1][c]," (%)",sep=""))
为什么paste0()不在这里工作是超出我的.