Отображение знака больше или равно
У меня есть график, который генерируется таким образом:
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".
Как я могу отображать знак больше или равно?
Ответы
Ответ 1
Альтернативой использованию выражений являются символы Юникода, в этом случае символ Юникода "БОЛЬШЕ, ЧЕМ ИЛИ РАВНО" (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, зависит от вашего графического устройства и выбранного шрифта.
Ответ 2
Вы можете передать выражение (включая phantom(...)
для подделки ведущего >=
внутри
аргумент label
для 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))
![enter image description here]()
См. ?plotmath
для получения дополнительной информации о создании математических выражений и
this, связанный с вопросом и ответом
Ответ 3
plot(5, ylab=expression("T ">="5"))
![enter image description here]()
Ответ 4
Вы можете использовать
expression("">=80)
Таким образом, метка вашей полной оси будет выглядеть следующим образом:
scale_x_discrete(labels=c("0-29","30-49","50-64","65-79",expression("">=80),"All")) +
У меня были проблемы с экспортом графиков при использовании юникода, но функция выражения более последовательна.