Создание графика facet_wrap с помощью ggplot2 с меньшим количеством аннотаций, чем с графиками

Я использую ggplot2 для построения фигуры, содержащей девять граней. Каждый аспект представляет отношение между двумя переменными, и я хотел бы пометить аспекты, которые отображают статистически значимые результаты, звездочкой «». Это приведет только к двум из девяти фасетов с ''. Однако в итоге все девять граней отображают аннотацию.

Как я могу это исправить?

library(ggplot2)

Sig<-c("","*","","","","","","*","") # Only the second and the second to last facets should receive significance stars.
Data.annot<-data.frame(unique(Aspects),Sig)

qplot(Labels,Es,data=Data1) + geom_pointrange(aes(x=Labels,y=Es,ymin=Low,ymax=Up)) + geom_hline(yintercept=0, linetype="dashed") + coord_flip() + facet_wrap(~Aspects, scales="free") + geom_text(data=Data.annot, aes(x= 0.5, y= 1, label = Sig)) + scale_y_continuous("Correlation coefficient\n(effect size)",limits=c(-0.5,1),breaks=c(-0.5,0,0.5,1.0)) + scale_x_discrete("")

person EduardoSAS    schedule 14.04.2010    source источник
comment
Это похоже на этот вопрос. вы проверили? stackoverflow.com/questions/2050610/   -  person Brani    schedule 14.04.2010
comment
Я проверил этот, но не смог адаптировать его для своих нужд. Когда я рисовал, символы по-прежнему появлялись на всех гранях.   -  person EduardoSAS    schedule 15.04.2010


Ответы (1)


Это будет минимальный пример. Что важно, так это данные для geom_text.

dat<-data.frame(fa=gl(4,3),x=runif(12),y=runif(12))
q<-ggplot(dat,aes(x=x,y=y))+geom_point()+facet_wrap(~fa)+
geom_text(data=data.frame(fa=gl(4,1),sig=c("","*","","+")),aes(x=0.5,y=0.5,label=sig))
print(q)

ХТН.

person kohske    schedule 14.04.2010
comment
Спасибо! С небольшой адаптацией: geom_text(data=data.frame(Aspects=unique(Data1$Aspects),sig=c(,,,,,,,,)),aes(x=1, y=0.5,label=sig)) Я получил звезды там, где хотел! - person EduardoSAS; 15.04.2010