ggplot2中的5个值的unicode字符

时间:2018-09-25 11:58:35

标签: r ggplot2 unicode

目的是展示。 unicode value \u1D445被解释为\u1D44 + 2,并在ggplot2中打印为ᵄ2。有解决方案吗?

library(ggplot2)
library(extrafont)
loadfonts(device = "win")
set.seed(42) 
df <- data.frame(date = 1:10 , value = cumsum(runif(10 , max = 10)) )
p <- ggplot(df, aes(x=date, y=value)) 
p <- p + geom_line()
p + geom_label(aes(label = "Kruskal-Wallis Anova Dim2 by:\nCategory: p < .001\nRegion: p < .001\nCategory*Region: p < .001\n\u1D445\u00B2 = 0.49",  x=2, y=40, family="Times New Roman")

3 个答案:

答案 0 :(得分:1)

您使用错误的语法指定了字符。如您所见,\u只需要4个十六进制数字,但是\U也最多需要8个数字。这与C99的语法相同。

我无法运行您的Windows特定代码进行测试,但这至少应该有所帮助。

答案 1 :(得分:0)

这应该做你想要的

p + geom_label(aes(label = "R",  x=2, y=40, fontface="italic", family="Times New Roman"))

这是geom_label中包含的固有功能,因此不需要任何其他库。

答案 2 :(得分:0)

我肮脏的解决方案是不使用\u

p + geom_label(aes(label = "Kruskal-Wallis Anova Dim2 by:\nCategory:  < .001\nRegion:  < .001\nCategory*Region:  < .001\n\u00B2 = 0.49",  x=2, y=40, family="Times New Roman")

在R Studio中显示字符串时会产生问题。而且我不确定这些字母是否真的是相同的字体,以及正常R和p的斜体版本。