Добавьте символ меньше чем ‹ в ggplot через geom_text в R

Короткая версия: как мне заставить этот надуманный код отображать правильный греческий бета-символ И остальную часть строки метки, с пробелом, символом меньше и числами, отформатированными как напечатано?

library("ggplot2")
df<-data.frame(a=1:15,b=6:20)
ggplot(data=df, aes(x=a,y=b)) + geom_point() +
       geom_text(x=5,y=4,label="beta=1.00 p<0.0001", parse=TRUE)

Если я пропущу аргумент ", parse=TRUE", строка будет отлично работать, но не даст мне настоящей греческой бета-версии. Если я оставлю это, весь ад вырвется на свободу.


Длинная версия (и почему я не могу найти дубликат): я наконец обнаружил в Как использовать греческие символы в ggplot2? методы размещения греческих символов на ggplot зависят от того, где вы их помещаете. Поскольку я использую geom_text для принудительного ввода строк текста в тело графика, мои попытки использовать выражение (бета) не увенчались успехом, и недавно я начал использовать упомянутый выше аргумент синтаксического анализа. Я наткнулся на Как могу ли я добавить буквенно-цифровые И греческие символы в geom_text() в ggplot?, что, как я думал, было моим ответом, но исправление «пробела» привело к появлению дополнительных круглых скобок, «=» заменено запятой и потеря форматирования для всех моих ранее отформатированных текстовых чисел.

Ссылка на руководство по использованию аргумента синтаксического анализа и тому, как разобраться в том, что мне кажется совершенно неинтуитивным, была бы очень полезна для меня и, возможно, будущих пользователей R, оказавшихся здесь. Многие поиски оказались безрезультатными.


person mightypile    schedule 23.02.2015    source источник


Ответы (1)


Это должно сделать это:

g <- ggplot(data=df, aes(x=a,y=b)) + geom_point()
g + annotate("text", x=5,y=4,parse=TRUE, label="beta==1.00 * ' p<0.0001'")

Это вопрос разделения метки одинарными кавычками сбоку от пробела и соединения двух битов метки с помощью *. Вам также понадобится == для равенства.

введите здесь описание изображения

person jalapic    schedule 23.02.2015
comment
Отличная информация! Спасибо! Два дополнения из моих экспериментов с ним: Одинарные кавычки вокруг «1.00» позволяют мне сохранить мои sigfigs. И я заметил, что это работает как с annotate(), так и с geom_text(), другие ответы предлагают причины использования annotate() для этой конкретной потребности. Любые предложения по руководству по этой грамматике? Теперь я могу заставить этот пример работать, но все еще не понимаю его для будущих потребностей, которые могут возникнуть. - person mightypile; 24.02.2015
comment
не уверен в исчерпывающем руководстве по грамматике, но этот файл справки по математике полезен для изучения синтаксиса: stat.ethz.ch/R-manual/R-devel/library/grDevices/html/ - person jalapic; 24.02.2015
comment
label="beta==1.00 * ~italic(p)~ ' < 0.0001'" для курсива p - person CrunchyTopping; 27.09.2019