Положить математические символы и индексы, смешанные с обычными буквами в R/ggplot2
Я хочу нанести ярлык, который выглядит следующим образом ggplot2
: Value is $\sigma$, R^{2} = 0.6
где Value is
обычный шрифт, $\sigma$
греческая строчная сигма буква и R^{2} = 0.6
появляется как R
с верхним индексом 2
с последующим знаком равенства (=
) с последующим 0.6
, Как это можно использовать в ggplot? factor
с и в аргументах для таких вещей, как xlab,ylab
R? Благодарю.
2 ответа
Что-то вроде этого:
g <- ggplot(data=data.frame(x=0,y=0))+geom_point(aes(x=x,y=y))
g+ xlab( expression(paste("Value is ", sigma,",", R^{2},'=0.6')))
РЕДАКТИРОВАТЬ
Другой вариант заключается в использовании annotate
с parse=T
:
g+ annotate('text', x = 0, y = 0,
label = "Value~is~sigma~R^{2}==0.6 ",parse = TRUE,size=20)
РЕДАКТИРОВАТЬ
paste
Решение может быть полезно, если при построении графика вычисляется постоянная 0,6.
r2.value <- 0.90
g+ xlab( expression(paste("Value is ", sigma,",", R^{2},'=',r2.value)))
Несколько проще, чем paste() может быть:
g <- ggplot(data=data.frame(x=0,y=0))+geom_point(aes(x=x,y=y))
g+ xlab( expression(Value~is~sigma~R^{2}==0.6))
В общем-то paste
и все эти парные кавычки не нужны, если вы используете правильные графические связки. Даже если вам нужен текст, который в противном случае создал бы греческую букву, все, что вам нужно сделать, это заключить его в кавычки либо *
или же ~
с каждой стороны. Одна проблема с предложением paste
для новичков в заговор выражений, что они тогда думают, что это так же, как paste
на остальном языке.