我在我已经使用了ggplot expression(phantom(x) >=80)
在标签的文本以得到适当的大于或-等于符号。
但是我还需要有(N = ...)下面立即:
require(ggplot2)
.d <- data.frame(a = letters[1:6], y = 1:6)
labs <- c("0-9\n(N=10)","10-29\n(N=10)","30-49\n(N=10)", +
"50-64\n(N=10)","65-79\n(N=10)", expression(phantom(x) >=80))
ggplot(.d, aes(x=a,y=y)) + geom_point() +
scale_x_discrete(labels = labs)
我怎样才能结合expression()
与逃生\n
?
作为@otsaw他说, 回答你刚才的问题 , plotmath
(因此expression
)不允许换行。
但是,作为一个劈,可以使用atop
让≥80
出现在顶部(N=10)
但正如你很快就会看到它不匹配与其他标签:
labs <- c("0-9\n(N=10)","10-29\n(N=10)","30-49\n(N=10)",
"50-64\n(N=10)","65-79\n(N=10)",
expression(atop(phantom(x) >=80, (N==10))))
因此,作为进一步的黑客,可以通过其他标签为表达式:
labs <- c(expression(atop(0-9,(N==10))),expression(atop(10-29,(N==10))),
expression(atop(30-49,(N==10))), expression(atop(50-64,(N==10))),
expression(atop(65-79,(N==10))), expression(atop(phantom(x) >=80, (N==10))))
但是,当然,你必须@otsaw溶液(使用Unicode)这是相当少罗嗦:
labs <- c("0-9\n(N=10)","10-29\n(N=10)","30-49\n(N=10)",
"50-64\n(N=10)","65-79\n(N=10)",
"\u2265 80\n(N=10)")
另一种方法是使用最近存档tikzDevice
。 这将创建该地块为tikz
这是乳胶友好的格式。
这将允许您通过任何乳胶表达式作为字符串标签。
它可以编译相同的前导码的文件为您的整个文档,这样的字体等都是一致的好处。
所有这些可以使用自动化knitr使用opts_chunk$set(dev = 'tikz')