如何绘制像WOMENS SYMBOL或 MENS 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后备选项.
我没有答案,但有一些 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 像素:
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |