【问题标题】:encoding greek symbols in .eps and .pdf of ggplot figures在 ggplot 数字的 .eps 和 .pdf 中编码希腊符号
【发布时间】:2019-12-24 18:52:59
【问题描述】:

我需要保存在 ggplot 中创建的带有希腊符号的图形作为构面标签。

这是图表的代码

library(bayesplot)
library(ggplot2)
df <- data.frame(var1 = rnorm(1e4, 0, 1),
                 var2 = rnorm(1e4, 6, 4),
                 var3 = rnorm(1e4, 10, 3))
names(df) <- c("\u03C3", "\u03B4", "\u03BC")
tp <- bayesplot::mcmc_trace(df)
tp

现在打印到 RStudio 的绘图窗口就好了...

...希腊符号很好地出现了。它还可以很好地保存到图像文件中。但如果我尝试保存为 eps 或 pdf...

ggplot2::ggsave(filename = "plotMu.eps", 
                plot = tp, 
                device = "eps", 
                dpi = 1200, 
                width = 15,
                height = 10, 
                units = "cm")

...这些希腊符号显示为双点..

那么我如何让这些符号显示在 eps/pdf 上。我尝试使用编码保存并选择ASCII,但这种策略仅适用于绘图表达式和expression() 语句,这对我的情况并没有真正的帮助,因为这些都不适用于列标题。

我非常感谢有人逐步概述完成此操作的过程。网上所有的解释都倾向于假设一些我没有的知识。

【问题讨论】:

  • 您使用的是什么操作系统?可能相关:stackoverflow.com/questions/28446737/…
  • 尝试将device="pdf" 改为device=cairo_pdf,看看问题是否解决。这是@MrFlick 可能相关链接中的解决方案之一。
  • 谢谢@deepseefan。我收到一条错误消息Error: Unknown graphics device 'cairo_pdf'。无论如何,我认为我低估了 .eps 的重要性。这实际上是最让我沮丧的问题,因为 .eps 文件是当今期刊想要他们的数字的格式。我只包含了 pdf,因为我在 .pdf 和 .eps 上都得到了同样令人费解的 .. 符号。我想我会更改原始帖子以反映这一点。
  • @llewmills,那可能是你的系统上没有它。查看here 以安装适合您系统的那个。下线,它也可以让您免于为相机准备好嵌入字体的麻烦。
  • 非常感谢@deepseefan。很有帮助。我希望有一天能解决希腊字符 EPS 难题。它躲了我这么久。现在我只需要在我的分面标题中写上“Mean”和“sd”,而不是 mu 和 sigma。不是世界末日,但我内心的书呆子总是会因为我无法解决它而烦恼。

标签: r pdf ggplot2 encoding


【解决方案1】:

我遇到了同样的问题,发现使用device = cairo_ps 解决了它!例如,

ggplot2::ggsave(filename = "plotMu.eps", 
plot = tp, 
device = cairo_ps, 
dpi = 1200, 
width = 15,
height = 10, 
units = "cm")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-25
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    相关资源
    最近更新 更多