Использование plotmath в ggplot2 со знаком процента (%)
Я хотел бы использовать греческие символы, латинские символы и знак процента в метках фасета гистограммы ggplot2. Греческие символы можно сделать с помощью ' facet_grid(.~переменная, 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
^
Есть идеи, как включить знак процента?
1 ответ:
Латинские символы не нуждаются в какой-либо специальной обработке, и вы можете увидеть это в первом элементе
a
. Попробуйте это:a<-c("Delta~V","VarcoV","'%'*V","Delta~V","VarcoV","'%'*V")
Знак "%" является специальным, поэтому его нужно процитировать. Вы могли бы просто сделать '%V', но я вставил " * " (звездочку), чтобы показать, как отделить plotmath токены без отображаемого пространства. (Похоже, вы уже знаете, как разделять маркеры с помощью разделителя интервалов"~".)
Ключевой урок заключается в смешивании типов цитат. Первый тип котировки будет сигнализировать какой тип используется для завершения символьного токена/строки. Вы также можете использовать escape-символ:"\". Это также удается:
a<-c("Delta~V","VarcoV","\"%\"*V","Delta~V","VarcoV","\"%\"*V")