如何绘制32位unicode字符?R 3.2.2挂在Windows/RStudio上

luk*_*keA 6 unicode r rstudio

如何绘制像WOMENS SYMBOLMENS SYMBOL这样的unicode符号 ,或者该代码块中的其他符号?除了设置包含这些字符的字体系列之外,当我使用像这样的点字符时,R挂在我的系统*pch上:

plot(0, type="n")
points(1, .5, pch=-0xfffdL)
# works
points(1, -.5, pch=-0x1f6b9L)
# R hangs
Run Code Online (Sandbox Code Playgroud)

正如文件所述,

在操作系统支持的情况下,负值指定Unicode代码点,因此例如-0x2642L是"男性符号",-0x20ACL是欧元.

*我的sessionInfo():

R version 3.2.2 (2015-08-14)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252    LC_MONETARY=German_Germany.1252 LC_NUMERIC=C                   
[5] LC_TIME=German_Germany.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] rsconnect_0.3.79 tools_3.2.2 
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助和提前检查您的系统.


编辑:当我使用RStudio 0.99.879与RStudio图形设备时,Windows挂起.如果我dev.new(noRStudioGD=T)明确使用,那么我会在评论中提到一个熟悉的错误:"plot.xy中的错误(xy.coords(x,y),type = type,...):'utf8towcs中输入'🚹'无效'".现在,我将使用@ 42-提到的PNG后备选项.

42-*_*42- 3

我没有答案,但有一些 png 格式的公共领域版本:

在此输入图像描述 在此输入图像描述

您应该能够缩小它们并在所需位置打印:使用自定义图像而不是 R 折线图标记的标准形状

library(png)
img <- readPNG('~/Downloads/mens_room_clip_art_9332/Mens_Room_clip_art_small.png')
str(img)
# num [1:100, 1:100, 1:4] 1 1 1 1 1 1 1 0 0 0 ...
require(grid)
#Loading required package: grid
male <- rasterGrob(img)
img <- readPNG('~/Downloads/ladies_room_clip_art_16926/Ladies_Room_clip_art_small.png')
female <- rasterGrob(img)

df = data.frame(x=rep(1:4,2), y=c(1,1,2,4,6.5,5,5.5,4.8), g=rep(c("s","m"),each=4))
p = ggplot(df, aes(x, y, group=g)) + 
  geom_line() +
  theme_bw()

a=0.2
for (i in rownames(df[df$g=="s",])) {
  p = p + annotation_custom(male, df[i,"x"]-a,df[i,"x"]+a,df[i,"y"]-a,df[i,"y"]+a)  
}

b=0.2
for (i in rownames(df[df$g=="m",])) {
  p = p + annotation_custom(female, df[i,"x"]-b,df[i,"x"]+b,df[i,"y"]-b,df[i,"y"]+b)  
}
png();print(p);dev.off()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我还把图像粘贴到 Gimp 中并缩放到 24 像素:

在此输入图像描述在此输入图像描述