我正在尝试将包含男性和女性的 UTF 字符的图例保存为
R
中的 pdf 格式。当我绘制到图形设备时:
plot(1)
legend('topright', bty = 'n',
expression(italic("legend"~"\u2640"~"\u2642")))
剧情传说符合预期
我什至可以通过右键单击并“保存到 pdf”将其保存为 pdf。但是,当我使用内置函数时
pdf
pdf('test.pdf')
plot(1)
legend('topright', bty = 'n',
expression(italic("legend"~"\u2640"~"\u2642")))
dev.off()
它会发出警告并显示损坏的字符:
cairo_pdf
不会发出警告,但也不会显示正确的符号:
根据这篇文章,我应该指定支持我的符号的编码,但是我不知道如何找出它的作用(除了默认的
Helvetica
我尝试了MacRoman
但没有成功)。
很明显,R 可以生成包含这些符号的 pdf(因为我可以通过右键单击来做到这一点)。但是,我想以自动化的方式实现这一点。
我的 R 会话设置:
R version 3.3.1 (2016-06-21)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.5 (El Capitan)
locale:
[1] en_US.UTF-8/C/en_US.UTF-8/C/en_US.UTF-8/C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
我还设法在另一台装有 macOS Sierra 10.12.1 的计算机上重现相同的行为。
png('test.png', units="in", width=11, height=10, res = 600)
plot(1)
legend('topright', bty = 'n',
expression(italic("legend"~"\u2640"~"\u2642")))
dev.off()
ggsave
与
expression(mu)
有效
draw_label(expression(paste("50 ", mu, " m")))
ggsave(...)