我正在尝试使用标签上的一半(以及四分之一填充)方块生成ggplot2图形,但Mac上的ggplot2似乎不支持某些符号.
例如,当我输入:
print("\u25E9")
Run Code Online (Sandbox Code Playgroud)
它显示了一个半黑的正方形,但是当我尝试在ggplot中使用它时它不会打印.我正在使用facet_wrap,但看起来问题是在ggplot中无法识别Unicode符号.
我将这个非常有用的例子用于说明:
junk<-data.frame(gug=c(
rep( paste("\u25E9"), 10),
rep( paste("\u25E8"), 10)
)
)
junk$eks<-1:nrow(junk)
junk$why<-with(junk, as.numeric(gug) + eks)
print(summary(junk))
library(ggplot2)
print(
ggplot(data=junk, mapping=aes(x=eks, y=why)) +
geom_point() +
facet_wrap(~ gug)
)
Run Code Online (Sandbox Code Playgroud)
我已经尝试将unicode放入表达式并使用plotmath,但我的笔记本电脑似乎并不支持这个特定的unicode符号,正如warinig在plotmath帮助页面上所说:
"在UTF-8语言环境中,可以输入任何Unicode字符,可能是\ uxxxx或\ Uxxxxxxxx转义序列,但问题是图形设备是否能够显示字符.最广泛的字符可能是可用的在使用cairo的X11设备中:请参阅其帮助页面,了解如何安装其他字体可以提供帮助.这通常可用于以粗体或斜体显示希腊字母.在非UTF-8语言环境中,通常不支持不在当前编码所针对的语言."
我认为这个问题基本上是在这篇文章中描述的,但在pdf中指定cairo_pdf和quartz不起作用,因为我甚至无法在插图中看到输出.
所以我想知道是否有办法从头开始创建这个标签呢?任何人都可以告诉我如何做到这一点或在哪里找到一个好的例子?
非常感谢你的帮助!
我正在使用Mac,这是SessionInfo:
> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_GB.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] Unicode_0.1-3 ggplot2_0.9.3.1 plyr_1.8 reshape2_1.2.2
loaded via a namespace …
Run Code Online (Sandbox Code Playgroud)