我想在R中的图例中添加一个具有两个小写字母下标的Unicode字符。
该字符是带有著重符号的r(ř),并且两个字母是i和j。
我已经查看了这个问题:Unicode character with superscript,并尝试根据答案调整我的问题。
以下是我尝试过的内容:
plot(1,pch=NA,ylab="",xlab="",axes=F)
legend("top",legend=paste("1-","\u{0159}"),bty ="n",bg = "white",cex=2)
legend("center",legend=paste("1-","\u{0159}","\u{0069}","\u{006A}"),bty="n",bg = "white",cex=2)
legend("bottomleft",legend=expression("1-"*"\u0159"["\u0069"*"\u006A"]),bty="n",bg = "white",cex=2)
legend("bottomright", legend = quote("1-" *"\u0159"["\u0069"*"\u006A"]),bty="n",bg = "white",cex=2)
下面是结果:
下面是生成的图
Unicode字母和下标分别使用时都可以正常工作,但是在一起就会出现问题。任何组合的[ ]与paste()一起使用都会返回错误,但我认为这是可以预料到的,因为paste不能处理下标的[ ]。
如果您正在使用Windows,则可能在CRAN的常见问题解答网站中找到提示,但我不确定如何实施:
3.6 我在R控制台中看不到带重音符号的字符,例如在?text中。
您需要在Rconsole中指定支持使用的编码的字体(参见Q5.2)。这在早期版本的Windows中曾是一个问题,但现在很难找到不支持的字体。
Rterm中对这些字符的支持取决于运行Rterm的环境(终端窗口和shell,包括语言环境和代码页设置),以及终端窗口使用的字体。那些通常是基于传统的DOS设置,需要进行修改。
plot.new(); text(0.5, 0.7, labels = quote("1 - " * '\u{0159}'[ij]))
。您示例中的3和4也对我有效。 - rawrlegend=quote("\u0159")
显示了带重音符号的字母,但添加下标legend=quote("\u0159"[i]
却将其删除。与 OP 一样,在 W7、R3.1.1 上无法解决此问题。 - user20650