我收到了对我提交出版的图的评论,通过测试我才意识到一些我以前不知道的事情:当使用位图驱动程序时,R 似乎使用连字符而不是正确的负号来表示负值在轴上。有什么办法可以纠正吗?
library(extrafont)
loadfonts(device="win", quiet=TRUE)
png("Test.png", family="Helvetica", width=5, height=5, units="in", res=300)
plot(-3:3, -3:3)
text(-2, 2, labels=("\u2010 Hyphen"), pos=4)
text(-2, 1.5, labels=("\u002d Hyphen-Minus"), pos=4)
text(-2, 1, labels=("\u2212 Minus"), pos=4)
dev.off()
使用 pdf()
驱动程序时,负值会正确使用减号。我知道对于 pdf()
驱动程序,这可以通过使用 cairo-pdf()
来更改。但是,在 png()
或 tiff()
驱动程序中使用另一种类型(例如 type="windows"
)不会改变连字符到减号。
有没有什么方法可以使用 bitmab 驱动程序为负轴值使用正确的减号?
最佳答案
在 base r 中它相当复杂。以下代码在绘图本身之后打印坐标轴。通过 find&replace 将轴标签中的连字符替换为减号。
plot(-3:3, -3:3, xaxt="n", yaxt="n", xlab = "\u22123:3", ylab = "\u22123:3")
xat <- axTicks(1, usr=par("usr")[1:2])
labs <- gsub("-", "\U2212", print.default(xat))
axis(1, at=xat, labels=labs)
yat <- axTicks(2, usr=par("usr")[1:2])
labs <- gsub("-", "\U2212", print.default(yat))
axis(2, at=xat, labels=labs)
关于R:如何在图中的负轴上使用正确的减号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66077931/