在ggplot图形的.eps和.pdf中编码希腊符号

时间:2019-08-19 14:20:15

标签: r pdf ggplot2 encoding

我需要保存在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的绘图窗口了……enter image description here

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

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

...这些希腊符号以双点..

出现

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

我真的很感谢有人概述逐步完成此过程的过程。在线上的所有解释都倾向于假定我没有一些知识。

1 个答案:

答案 0 :(得分:2)

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

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