为基本 R 绘图格式化文本的函数
Functions to format text for base R plotting
在基本 R plot()
中指定具有斜体/粗体/换行等格式的文本通常涉及以下一个或多个函数:
paste()
expression()
atop()
substitute()
italic()
对于这些函数之间的差异以及何时最好应用它们,是否有直观的解释?
您指的是 plotmath
语法。
首先,让我们明确一点,要这样解释 plotmath 表达式,您告诉 R 它是一个“表达式”,这就是为什么您需要 expression()
.
所以任何时候你想使用特殊符号或格式,如 italic()
和 atop()
,它实际上是 plotmath 的一部分,所以你需要将它包装在一个表达式中。例如:
plot(0, main = expression(atop(over,italic(under))))
如果您尝试过 ?italic
或 ?atop
,您可能已经注意到它会直接将您带到 plotmath 手册页,其中列出了许多其他函数。
那substitute()
呢?那么在我之前的示例中,您会注意到我直接使用字符串来编写 'over' 和 'under',而没有将它们放在引号内。这是因为特殊的 expression()
环境。
因此,如果您需要将 inside 中的任何内容放入文本中的变量(而不是变量名称),那么您可以将表达式放在 substitute()
中并为其提供参数。例如:
plot(0, main = substitute(atop(oo,italic(under))), list(oo='over2')))
请注意,我们没有在表达式块周围放置替代项,而是将其完全替换。
最后,paste()
是从哪里来的?好吧,粘贴是胶水(双关语意)与 plotmath 未处理的任何文本。
因此,如果您需要数学符号(或格式化文本)之前或之后的文本,您可以 paste()
在 表达式(或替代)环境中 东西。例如:
plot(0, main = substitute(paste("b4", atop(oo,italic(under)), aft),
list(oo='over', aft = 'after3')))
和以前一样,如果你想粘贴一个变量的内容,你需要替换。
而且 瞧 这就是您需要的大部分情节!
对于任何其他符号或函数,请查看 ?plotmath
在基本 R plot()
中指定具有斜体/粗体/换行等格式的文本通常涉及以下一个或多个函数:
paste()
expression()
atop()
substitute()
italic()
对于这些函数之间的差异以及何时最好应用它们,是否有直观的解释?
您指的是 plotmath
语法。
首先,让我们明确一点,要这样解释 plotmath 表达式,您告诉 R 它是一个“表达式”,这就是为什么您需要 expression()
.
所以任何时候你想使用特殊符号或格式,如 italic()
和 atop()
,它实际上是 plotmath 的一部分,所以你需要将它包装在一个表达式中。例如:
plot(0, main = expression(atop(over,italic(under))))
如果您尝试过 ?italic
或 ?atop
,您可能已经注意到它会直接将您带到 plotmath 手册页,其中列出了许多其他函数。
那substitute()
呢?那么在我之前的示例中,您会注意到我直接使用字符串来编写 'over' 和 'under',而没有将它们放在引号内。这是因为特殊的 expression()
环境。
因此,如果您需要将 inside 中的任何内容放入文本中的变量(而不是变量名称),那么您可以将表达式放在 substitute()
中并为其提供参数。例如:
plot(0, main = substitute(atop(oo,italic(under))), list(oo='over2')))
请注意,我们没有在表达式块周围放置替代项,而是将其完全替换。
最后,paste()
是从哪里来的?好吧,粘贴是胶水(双关语意)与 plotmath 未处理的任何文本。
因此,如果您需要数学符号(或格式化文本)之前或之后的文本,您可以 paste()
在 表达式(或替代)环境中 东西。例如:
plot(0, main = substitute(paste("b4", atop(oo,italic(under)), aft),
list(oo='over', aft = 'after3')))
和以前一样,如果你想粘贴一个变量的内容,你需要替换。
而且 瞧 这就是您需要的大部分情节!
对于任何其他符号或函数,请查看 ?plotmath