在我的图中,我尝试用值' Inf'来替换轴标签。带有无穷大符号(例如unicode' \ u221e')。由于我有很多不同标签的情节,我不想手工制作。 我认为使用unicode比使用plotmath更容易。但是,我无法弄清楚如何实现目标。例如,我有以下向量:
xlab <- as.character(c(1:10,Inf))
x <- y <- 1:11
plot(x,y,xaxt="n")
axis(1,at=x,labels=gsub("Inf","\u221E",xlab))
axis(3,at=x,labels=gsub("Inf","\\u221E",xlab))
都不能工作。我错过了什么?谢谢你的帮助!
编辑于2018-02-06:
我错了,rawr的解决方案只在中途工作。我想我需要更多地澄清我的问题。
1)我想要循环使用许多不同的图(具有不同的x
,y
和相应的xlab
值)。这就是我尝试使用sub / gsub解决方案的原因,因为我不想写一百倍的标签。
2)我的第一个例子(axis(1,at=x,labels=gsub("Inf","\u221E",xlab))
)无法在我的任何Windows机器上运行。不过,它正在研究debian。
x <- y <- exp(-1:11)
xlab <- as.character(c(Inf,10:-1))
plot(x,y,xaxt="n")
axis(1, at = x, labels = parse(text = gsub("Inf", "infinity", xlab)))
不太好。
我的Windows机器有什么解决方案吗?可能不是通过代码,而是通过更改某些设置?
谢谢!
答案 0 :(得分:1)
尝试
axis(1, at=x, labels=c(1:10, expression(infinity)))
使用stringi
包可以使用更灵活的方法来处理任何unicode字符:
axis(1, at=x, labels=c(1:10, stri_unescape_unicode('\\u221E')))