11

我想在 ggplot2 条形图的分面标签中使用希腊字符、拉丁字符和百分号。希腊字符可以用 '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
       ^

任何想法如何包括百分号?

4

1 回答 1

13

拉丁字符不需要任何特殊处理,您可以在 的第一个元素中看到这一点a。尝试这个:

a<-c("Delta~V","VarcoV","'%'*V","Delta~V","VarcoV","'%'*V")

“%”符号很特殊,因此您需要引用它。您可能刚刚完成了 '%V',但我输入了“*”(星号)来展示如何在没有显示空间的情况下分隔plotmath标记。(您似乎已经知道如何使用空格分隔符“~”来分隔标记。)

关键的教训是混合引用类型。第一个引号类型将表明使用哪种类型来终止字符标记/字符串。您还可以使用转义字符:“\”。这也成功了:

a<-c("Delta~V","VarcoV","\"%\"*V","Delta~V","VarcoV","\"%\"*V")
于 2013-06-08T00:20:39.803 回答