我想在 R 中的箱形图的 x 轴上使用无穷大符号,我想将其写入 PDF 文件。
我可以通过这样做来设置无穷大符号
names(data)[9] <- "∞"
但这让我在尝试编写时出现编码错误:
conversion failure on '∞' in 'mbcsToSbcs': dot substituted for <...>
我不完全确定您是如何尝试放置标签的,但以下代码对我有用:
x <- 1:10
y <- 1:10
pdf("infty.pdf")
plot(x,y,xlab=expression(infinity))
dev.off()
因为它会生成一个 PDF,其中 x 轴标有无穷大符号。对于数学符号,我建议不要尝试将它们存储为字符并期望 R 像对待其他字符一样对待它们。有关?plotmath
更多信息,请参阅。
您可以像本例中那样使用 Unicode:在 R 图形中使用 Unicode 'dingbat-like' 字形,跨设备和平台,尤其是 PDF(无穷大是 Unicode 8734):特别是,简单地使用cairoPDF
设备可能会使这项工作. 可能更好的主意是使用?plotmath
功能(如在论点?boxplot
下引用的那样:names
boxplot(matrix(1:10,ncol=2),names=c("a",expression(infinity)))
我在 MacOS 上遇到了类似的问题,男性(mars unicode \u2642)和女性(venus unicode \u2640)的符号。pdf() 不会绘制它们,而是用点代替它们。
然后我安装了 Cairo,起初它也不起作用(而是用矩形替换了符号),直到我输入
cairo_pdf(pdf.file,family="Arial Unicode MS")
哪个有效。问题是要找到具有您想要定义的符号的字体,因此不能保证它适用于其他符号。