как показать $ \ {X_t \} $ в заголовке сюжета R - PullRequest
5 голосов
/ 22 ноября 2010

Как показать $ \ {X_t \} $ латекса в заголовке сюжета R?

Например

 plot(slot(x,"GRID"),slot(x,"PATH"),type="l", xlab="Time t",ylab="X",
 main=paste("Simulation of \{X_t\}"))

Спасибо!

Ответы [ 3 ]

9 голосов
/ 22 ноября 2010

Предполагая, что вы предоставите значимые аргументы для выражений слотов, тогда я думаю, что есть разумный шанс, что это то, что вы хотите:

plot(1:10,1:10,type="l", xlab="Time t",ylab="X",
      main=expression("Simulation of {"*X[t]*"}"))

Это графическое выражение, которое представляет "t" какиндекс «X» и это выражение заключено в фигурные скобки.Если я неправильно прочитал ваш запрос, обратите внимание, что символ "*" является разделителем в синтаксисе plotmath, а фигурные скобки - это просто символы, которые можно удалить.(Выражения LaTeX не имеют большого смысла для тех из нас, кто просто использует синтаксис plotmath, поэтому описание того, что вы хотите в прозе или математическом жаргоне, будет лучше для любых пояснений.)

6 голосов
/ 22 ноября 2010

Чтобы R эмулировал набор текста LaTeX, см. Примеры и методы, описанные в ?plotmath.

Чтобы на самом деле LaTeX набирал текст вашего сюжета, используйте графическое устройство tikz(), предоставляемое пакетом tikzDevice.

4 голосов
/ 22 ноября 2010

Функция group() plotmath может использоваться для формализации ответа DWin.Это решение имеет преимущество (IMHO) в том, что он не использует строки как часть выражения.Вместо этого мы используем оператор ~ для добавления пробелов (пробелы игнорируются).

plot(1:10, 1:10, type = "l", xlab = "Time t", ylab = "X",
     main=expression(Simulation ~ of ~ group("{", X[t], "}")))

Функция * plotmath bgroup() предоставляет масштабируемые разделители, но используется так же, как в примере кода выше.

Редактировать (В ответ на комментарий ran2): В ggplot и решетке можно использовать те же подходы, используя мощь plotmath, как и в базовой графике.Например,

require(ggplot2)
df <- data.frame(A = 1:10, B = 1:10)
qplot(A, B, data = df,
      main = expression(Simulation ~ of ~ group("{", X[t], "}")))
...