Как добавить хорошие отформатированные аннотации в базовый граф R, используя выражение и значение переменной? - PullRequest
2 голосов
/ 23 сентября 2010

Скажем, у меня есть переменная rv, которая имеет некоторое числовое значение.Теперь я хочу нанести значение этой переменной на базовый график, но перед ним должен быть красиво отформатированный символ, например, r подстрочный индекс m, используя expression.Чтобы писать на графике, я использую mtext.
. Однако, я получаю либо значение переменной, но без красиво отформатированного символа (аннотация слева), либо символ с хорошим форматированием, но не значение переменной, но имя переменной ...

Я пытался поиграться с eval, но не получил то, что хотел.Вот мой код:

plot(1:10, rep(10,10), ylim=c(0,12))
rv <- 0.43

#left annotation:
mtext(paste(expression(italic(r[M])), " = ", rv), side = 1, line = -1.5, adj = 0.1)
#right annotation:
mtext(expression(paste(italic(r[M]), " = ", rv)), side = 1, line = -1.5, adj = 0.9)

Это результат: alt text

Как мне получить и хороший формат, и значение переменной? Спасибо.

Кстати: я знаю, что смогу получить его, если использую два раза mtext и поиграюсь с adj и прочим.Но мне бы очень хотелось получить его за один звонок или без игры с позицией двух аннотаций.

Ответы [ 2 ]

2 голосов
/ 23 сентября 2010

Функция bquote создаст выражение и допустимую подстановку значений с использованием синтаксиса. (Var). для вашего случая сделайте что-то вроде:

text( 5,1, bquote( italic(r[M]) == .(rv) ) )
0 голосов
/ 23 сентября 2010

Просто объедините то, что у вас есть, и нанесите две фигуры, соединенные с помощью adj:

R> plot(1:10, rep(10,10), ylim=c(0,12))
R> text(2,12, expression(paste(italic(r[M]))), adj=1)
R> text(2,12, paste("=", rv), adj=0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...