【问题标题】:how to show $\{ X_t \}$ in the title of a plot of R如何在 R 的绘图标题中显示 $\{ X_t \}$
【发布时间】:2011-05-13 15:24:41
【问题描述】:

如何在 R 的绘图标题中显示 $\{ X_t \}$ 的 Latex?

例如

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

谢谢!

【问题讨论】:

  • 嗯...有趣的问题。我可以补充一下:有 ggplot2 方法吗?
  • @ran2:你也这样做,他们都是我们的阴谋论。我已经用一个例子更新了我的答案。

标签: r plotmath


【解决方案1】:

要让 R 模拟 LaTeX 排版,请参阅?plotmath 中描述的示例和方法。

要真正让 LaTeX 排版您的绘图文本,请使用 tikzDevice 包提供的 tikz() 图形设备。

【讨论】:

  • 谢谢!这两种方法各自的优缺点是什么?
  • 使用 tikzDevice LaTeX 的力量可以处理论文中所有文本的排版,包括数字。这意味着您可以排版神秘的方程式,并且您的图形字体将与论文的其余部分无缝匹配——即使您碰巧使用的是克林贡语。使用 R 的内置 PDF 的优势在于它不依赖于存在的 LaTeX 编译器,并且除了 R 错误消息的世界之外,您不必面对 LaTeX 错误消息的世界。
【解决方案2】:

假设您将为插槽表达式提供有意义的参数,那么我认为这就是您想要的:

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

这是一个绘图表达式,将“t”表示为“X”的下标,并且该表达式用花​​括号括起来。如果我误读了您的请求,请注意“*”字符是 plotmath 语法中的分隔符,而大括号只是可以删除的字符。 (对于我们这些只使用 plotmath 语法的人来说,LaTeX 表达式没有多大意义,所以用散文或数学术语来描述你想要的东西对于任何澄清都会更好。)

【讨论】:

    【解决方案3】:

    group() plotmath 函数可用于形式化 DWin 的答案。此解决方案的优点(恕我直言)不使用字符串作为表达式的一部分。相反,我们使用~ 运算符来添加间距(空白被忽略)。

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

    bgroup() plotmath 函数提供可扩展的分隔符,但使用方式与上面的示例代码相同。

    编辑(回应 ran2 的评论): 使用 plotmath 的强大功能,可以在 ggplot 和 lattice 中使用相同的方法,就像使用基本图形一样。例如

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多