绘制正无穷大符号和负无穷大符号

时间:2017-03-26 20:10:33

标签: r plot plotmath

我想知道如何在情节中绘制正无穷大符号和无穷大符号?

这是我的R代码(没有成功):

plot(1, ty ='n', ann = F, xlim = c(-4, 6), ylim = c(-3.5, 1.5) )

text(c(-4, 6 ), rep(1, 2), c( bquote(- infinity  ), bquote(infinity  ) ) ) 

2 个答案:

答案 0 :(得分:7)

?plotmath开始

  

如果其中一个文本绘图函数text参数text,   R中的mtextaxislegend)是表达式,参数为   解释为数学表达式,输出将是   根据类似TeX的规则格式化。

并且labels的{​​{1}}参数记录为

  

指定要写入的文本的字符向量或表达式。一个   尝试强制其他语言对象(名称和调用)   表达式,向量和其他归类对象的字符   向量text

(强调我的)。 as.character实际上并不返回表达式(R类,而不是概念),而是一个语言对象(特别是一个调用)。这导致了两个问题:

  • 因为R无法处理调用向量,bquote实际上并不创建向量,而是将结果强制转换为列表,类似于c被强制转换为列表的方式,以及
  • 虽然c(sum, mean)会将从text本身返回的调用强制转换为表达式(可以正确解析),但它会将列表强制转换为字符向量,而该字符向量不会根据{{ 1}}。

您可以使用bquote明确强制使用plotmathc生成的来电列表,但只需直接致电bquote并避免as.expression更快共:

expression

plot with infinity symbols

作为最后一点,bquote实际上 在多个表达式上工作 - 排序plot(1, ty ='n', ann = F, xlim = c(-4, 6), ylim = c(-3.5, 1.5)) text(c(-4, 6 ), rep(1, 2), expression(-infinity, infinity)) 返回c。与c(expression(-infinity), expression(infinity))不同,expression(-infinity, infinity)有两个命名参数,bquote虽然需要expression,所以使用多个输入调用它会更容易。

答案 1 :(得分:2)

尝试:

text(c(-4, 6 ), rep(1, 2), c( bquote("- \U221E"), bquote("\U221E") ) )