Подтвердить что ты не робот

Помещение математических символов и подписей, смешанных с обычными буквами

Я хочу построить метку, которая выглядит так в ggplot2:

Value is $\sigma$, R^{2} = 0.6 где Value is обычный шрифт, $\sigma$ - греческая строчная сигма-буква, а R^{2} = 0.6 как R с верхним индексом 2 за которым следует равный знак (=), за которым следует 0.6. Как это можно использовать в factor ggplot и в аргументах таких вещей, как xlab,ylab of R?

4b9b3361

Ответ 1

Что-то вроде этого:

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) 

enter image description here

ИЗМЕНИТЬ

Решение paste может быть полезно, если константа 0,6 вычисляется при построении графика.

r2.value <- 0.90
g+ xlab( expression(paste("Value is ", sigma,",", R^{2},'=',r2.value)))

Ответ 2

Несколько проще, чем 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 и все эти парные кавычки не нужны, если вы используете правильные соединители plotmath. Даже если вам нужен текст, который в противном случае создавал бы греческую букву, все, что вам нужно сделать, заключить в кавычки с помощью * или ~ с каждой стороны. Одна проблема с предложением paste для новичков в выражениях plotmath состоит в том, что они думают, что это то же самое, что и paste на остальной части языка.