Положить математические символы и индексы, смешанные с обычными буквами в 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 на остальном языке.

Другие вопросы по тегам