我想在ggplot2条形图的facet标签中使用希腊字符,拉丁字符和百分号。希腊字符可以使用'facet_grid(.~variable,labeller = label_parsed)'完成:
a<-c("Delta~V","VarcoV","Delta~V","VarcoV")
b<-c(1,2,3,4)
d<-c("one","one","two","two")
mydata<-data.frame(cbind(b,a,d))
ggplot(mydata,aes(x=d,y=b))+facet_grid(.~a, labeller=label_parsed)+geom_bar(stat="identity")
现在我还要添加一个包含%和拉丁字符的构面标签:
a<-c("Delta~V","VarcoV","%V","Delta~V","VarcoV","%V")
b<-c(1,2,3,4,5,6)
d<-c("one","one","one","two","two","two")
mydata<-data.frame(cbind(b,a,d))
ggplot(mydata,aes(x=d,y=b))+facet_grid(.~a, labeller= label_parsed)+geom_bar(stat="identity")
这会产生以下错误:
Error in parse(text = x) : <text>:1:1: unexpected input
1: %V
^
如何包含百分号?
答案 0 :(得分:12)
拉丁字符不需要任何特殊处理,您可以在a
的第一个元素中看到这一点。试试这个:
a<-c("Delta~V","VarcoV","'%'*V","Delta~V","VarcoV","'%'*V")
“%”符号是特殊的,因此您需要引用它。你可能刚刚完成了'%V'但是我扔了“*”(星号)来展示如何分隔 plotmath 标记而没有显示空格。 (您似乎已经知道如何使用spacing-separator分隔标记,“〜”。)
关键的教训是混合报价类型。第一个引用类型将指示哪个类型用于终止字符标记/字符串。您还可以使用转义字符:“\”。这也成功了:
a<-c("Delta~V","VarcoV","\"%\"*V","Delta~V","VarcoV","\"%\"*V")