我正在尝试在ggplot2
图中创建一个包含减号作为指数的图例(指数中没有其他字符)。但是,我无法弄清楚plotmath
语法。
看起来以下情况可行:
expr1 <- expression(paste("text", main[sub]^{-}))
ggplot(mpg, aes(x=cty, y=hwy, colour=drv)) + geom_point() +
scale_colour_discrete(labels=c(expr1, "b", "c"))
(如果我们说expr1 <- expression(paste("text", main[sub]^{super}))
它确实有效。plotmath
中是否有转义字符或减号符号?
答案 0 :(得分:8)
你几乎肯定需要在减号周围加上引号,因为否则它会被假设为中缀运算符,因此需要在它之前和之后的参数。如果不能解决问题,请添加一个小测试用例。
逃避在plotmath中不起作用。特别是你不能使用“\ n”作为行尾/换行标记(如帮助(plotmath)页面中所述。
这也成功了:
expr1 <- expression(paste("text", main[sub]^{phantom()-phantom()}))
我以前从未尝试过使用phantom
之前和后续的中缀运算符,但是解释器似乎可以接受。 Plotmath表达式会被解析并需要符合R解析规则。见?Syntax
。如注释中所述,使用"-"
作为单个phantom()
的前缀运算符也会成功,因为减号可以用作一元减号或二元减号:
expr1 <- expression(paste("text", main[sub]^{-phantom()}))
我们也可以使用空字符值作为前缀减去后的项目:{ - “”}