我试图保存情节与传说包含UTF字符的男性和女性的pdf在R
。打印到图形设备时:
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
不会丢弃警告,但也不会显示正确的符号:
根据this post,我应该指定支持我的符号的编码,但是我不知道如何找到它(除了默认的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的计算机上重现了相同的行为。
4条答案
按热度按时间7cwmlq891#
在OS X上,一个可行的答案是使用
quartz
:来源:https://stackoverflow.com/a/19610909/2962344
cairo_pdf
似乎在Linux上可以工作。tcbh2hod2#
这是为我工作(在Windows上)
Unicode Characters in ggplot2 PDF Output
在Mac上试试这个
Plotting symbols fails in PDF
ubof19bj3#
我也遇到了同样的问题,其他的解决方案对我不起作用,最后我用png代替了pdf:
rsl1atfo4#
它可以在Linux上运行,带有ggsave和expression(mu)的pdf
draw_label(expression(paste(“50“,mu,“m”)
ggsave(...)