【问题标题】:Saving plots with "≤" and "≥" symbols in R在 R 中保存带有“≤”和“≥”符号的图
【发布时间】:2015-02-11 04:43:17
【问题描述】:

我有一个奇怪的问题:

我正在研究一个图例文本中包含“≥”符号的图。例如,"x ≥ 2"。有趣的是,当我使用 R 图形设备绘制它时,符号正确显示,但当我将其保存为 PDF 或 EPS 时,它显示不正确。

有什么建议可以正确保存在 PDF / EPS 中吗?

【问题讨论】:

  • 我什至无法让x ≥ 2 在 R 中正确显示。您具体使用什么操作系统和程序? (例如 - RStudio?)
  • 在 Mac 上工作(当然使用表达载体)。我不知道为什么它在 RStudio 中会有所不同,但如果是,那么您应该向他们询问。
  • 我使用的是现代 Linux 发行版,没有 RStudio,只是一个终端。

标签: r plot


【解决方案1】:

您是否使用表达式和相关的?plotmath 标记添加符号?我怀疑问题在于您在图例文本中确实使用了“≥”字形。只有正确设置了encoding(参见?pdf),这才有效,然后可能无法在任何地方都正常工作。

做这个 va plotmath 应该是可移植的:

plot(1:10)
legend("topleft",
       legend = c(expression(x >= 2), expression(x <= 1)),
       pch = 1:2)

【讨论】:

  • 不错。改用say legend("topright",legend="x \u2265 2") 有什么缺点吗?除了清晰度,expression 肯定有。
  • 只是因为它是 UTF8,它在不使用 UTF8 的语言环境中可能无法正常工作。 IIRC plotmath 中的这些字形使用合理便携和可靠的符号字体,但它并没有涵盖所有可以想象的字形。在过去,我不得不求助于将编码设置为使用千分之一符号。
  • 这对我不起作用,因为我收到了unexpected input in "expression... 通知。我想我要写的不是表达式,这就是原因。无论如何,cairo_pdf 完成了这项工作。我使用 Linux。
  • @Oposum 告诉我你使用的表达方式。上面的代码确实工作并且应该是可移植的,因此是首选。
【解决方案2】:

我怀疑你使用的是 mac?

使用cairo_pdf 代替pdf

> cairo_pdf("tmp.pdf")
> plot(2:10, xlab="x ≥ 2")
> dev.off()
null device 
          1 

【讨论】:

  • 我使用 Linux,但cairo_pdf 还是完成了这项工作。非常感谢。
猜你喜欢
  • 2021-04-09
  • 1970-01-01
  • 1970-01-01
  • 2017-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-02
  • 1970-01-01
相关资源
最近更新 更多