R 带下标的Unicode字符
我想添加一个Unicode字符,它有两个字母作为下标,以R表示我的绘图图例。 这个字符是一个带有短音符(ř)的r,两个字母是i和j 我已经看了这个问题:并试图根据我的问题调整答案 以下是我尝试过的:R 带下标的Unicode字符,r,unicode,plotmath,R,Unicode,Plotmath,我想添加一个Unicode字符,它有两个字母作为下标,以R表示我的绘图图例。 这个字符是一个带有短音符(ř)的r,两个字母是i和j 我已经看了这个问题:并试图根据我的问题调整答案 以下是我尝试过的: 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{01
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无法处理下标的[]
上的FAQ站点可能会给出提示,因为我正在使用Windows,但我不确定如何实现此功能:
3.6我在R控制台上看不到带有重音符号的字符,例如在?文本中
您需要在Rconsole(请参见Q5.2)中指定一种字体,该字体支持使用中的编码。在早期版本的Windows中,这曾经是一个问题,但现在很难找到一种不存在此问题的字体
Rterm中对这些字符的支持取决于运行它的环境(终端窗口和shell,包括区域设置和代码页设置)以及终端窗口使用的字体。这些通常是传统的DOS设置,需要更改
这与系统区域设置有关,例如,如果您尝试
# intToUtf8(345)
# [1] "ř"
# iconv(intToUtf8(345), "utf-8", localeToCharset())
# [1] "r"
这应该可以解决它(我使用了捷克语,但其他地区可能也可以):
使用您链接到的答案,这对我有效
plot.new();text(0.5,0.7,labels=quote(“1-”*'\u{0159}'[ij]))
。您的示例中的3和4也适用于me@rawr不幸的是,你的解决方案对我不起作用。我使用的是RStudio,所以我也尝试过使用普通的R,但是没有一个版本可以使用。Nadja,你使用的是什么操作系统,最后两个例子和rawr的代码,都在ubuntu 14.04,Rv3.1上按预期呈现。3@user20650我正在使用Windows7hi@konvas;谢谢你的建议,但同样的问题。我想知道这是否是一个地区或编码问题,但如果是这样的话,奇怪的是,重音字母显示预期没有下标legend=quote(“\u0159”)
显示带重音的字母,但添加下标legend=quote(“\u0159”[i]
),会将其删除。与OP一样,这在W7、R3.1.1上不起作用。太棒了,干杯。我试着把现场设置成德语和法语,但毫无乐趣。。捷克语就是答案@user20650 Lol是的,这是我想到的第一种具有这个特征的语言,尽管我相信会有很多。你知道为什么它在没有下标的情况下不改变区域设置就可以工作吗,例如在中(“\u{0159}”)
中?一点也不知道,我也觉得很奇怪。因此,也许真正的答案是不要使用Windows
Sys.setlocale("LC_CTYPE", "czech")
# [1] "Czech_Czech Republic.1250"
text(..., labels = quote("\u{0159}"[ij]))