2013-06-08 3 views
7

Я хотел бы использовать греческие символы, латинские буквы и знак процента в метках граней гистограммы ggplot2. Греческие символы могут быть сделаны с 'facet_grid (~ переменная, этикетировочные = label_parsed.)':Использование plotmath в ggplot2 с знаком процента (%)

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 
    ^

Любые идеи о включении знака процента?

ответ

10

Латинские символы не нуждаются в специальной обработке, и вы можете увидеть это в первом элементе a. Попробуйте следующее:

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

Знак «%» является особенным, поэтому его нужно процитировать. Вы могли бы просто сделать «% V», но я бросил «*» (звездочку), чтобы показать, как отделять plotmath токенов без видимого пространства. (Вы уже знаете, как разделить токены с разделителем-разделителем, «~».)

Ключевой урок - смешивать типы кавычек. Первый тип цитаты будет сигнализировать, какой тип используется для завершения символьного токена/строки. Вы также можете использовать escape-символ: «\». Это также преуспеть:

a<-c("Delta~V","VarcoV","\"%\"*V","Delta~V","VarcoV","\"%\"*V") 
+0

Двойные кавычки будут работать, если вы использовали одиночные кавычки вокруг значений символов, или вы могли бы избежать двойной цитаты с символом "\" –

Смежные вопросы