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