我有一个由此产生的情节:
ggplot(dt.2, aes(x=AgeGroup, y=Prevalence)) +
geom_errorbar(aes(ymin=lower, ymax=upper), colour="black", width=.2) +
geom_point(size=2, colour="Red")
我像这样控制x轴标签:
scale_x_discrete(labels=c("0-29","30-49","50-64","65-79",">80","All")) +
这有效但我需要将“> 80”标签更改为“≥80”。
但是“≥80”显示为“= 80”。
如何显示大于或等号?
答案 0 :(得分:33)
使用表达式的替代方法是Unicode字符,在这种情况下,Unicode字符'GREATER-THAN OR EQUAL TO'(U + 2265)。复制@ mnel的例子
.d <- data.frame(a = letters[1:6], y = 1:6)
ggplot(.d, aes(x=a,y=y)) + geom_point() +
scale_x_discrete(labels = c(letters[1:5], "\u2265 80"))
如果您无法记住复杂的表达式语法或者需要换行符(表达式不允许),则Unicode是一个不错的选择。作为缺点,特定的Unicode字符是否起作用取决于您的图形设备和选择的字体。
答案 1 :(得分:19)
您可以传递一个表达式(包括phantom(...)
来伪造其中的前导>=
label
的{{1}}参数
例如
scale_x_discrete(...)
有关创建数学表达式的更多详细信息,请参阅 .d <- data.frame(a = letters[1:6], y = 1:6)
ggplot(.x, aes(x=a,y=y)) + geom_point() +
scale_x_discrete(labels = c(letters[1:5], expression(phantom(x) >=80))
this相关SO问答
答案 2 :(得分:4)
答案 3 :(得分:0)
您可以使用
expression("">=80)
因此,您的全轴标签如下所示:
scale_x_discrete(labels=c("0-29","30-49","50-64","65-79",expression("">=80),"All")) +
使用unicode时,我在导出绘图时遇到了麻烦,但是表达式函数更加一致。