【发布时间】:2012-09-27 21:41:45
【问题描述】:
如何在使用 ggplot2 创建的 PDF 图中将 Unicode 字符用于标签、标题和类似内容?
考虑以下示例:
library(ggplot2)
qplot(Sepal.Length, Petal.Length, data=iris, main="Aʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘǫʀsᴛᴜᴠᴡxʏᴢ")
ggsave("t.pdf")
情节的标题使用 Unicode 字符(小型大写字母),在输出中显示为 ...。该问题仅出现在 pdf 绘图中;如果我将最后一行替换为ggsave("t.png"),则输出符合预期。
我做错了什么?我拥有的 R 脚本采用 UTF-8 编码。一些系统信息:
R version 2.14.1 (2011-12-22)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
在寻找这个问题的解决方案时,我发现了一些evidence,R 使用单字节编码进行多字节编码,例如用于 PDF 或 postscript 输出的 UTF-8。我还找到了一些建议,例如,能够获得Euro sign working,但没有通用的解决方案。
【问题讨论】:
-
cairo_pdf("t.pdf"); ...; dev.off()为我工作...见stackoverflow.com/questions/5886018/…