Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 带下标的Unicode字符_R_Unicode_Plotmath - Fatal编程技术网

R 带下标的Unicode字符

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

我想添加一个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{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]))