Pergunta

Eu tenho alguns dados para os quais, em um nível de fator, há uma correlação significativa. No outro nível, não há nenhum. Plotar esses lado a lado é simples. Adicionando uma linha a ambos com stat_smooth, também direto. No entanto, não quero que a linha ou seu preenchimento seja exibido em uma das duas facetas. Existe uma maneira simples de fazer isso? Talvez especificar uma cor em branco para o preenchimento e a cor de uma das linhas de alguma forma?

Foi útil?

Solução

Não pense em escolher uma faceta, pense em fornecer um subconjunto de seus dados para stat_smooth:

ggplot(df, aes(x, y)) +
  geom_point() + 
  geom_smooth(data = subset(df, z =="a")) + 
  facet_wrap(~ z)

Outras dicas

Claro, mais tarde respondi minha própria pergunta. Embora exista uma maneira menos hack-y de fazer isso? Gostaria de saber se alguém poderia se ajustar a funções diferentes em painéis diferentes.

Uma técnica é usar + scale_fill_manual e scale_colour_manual. Eles permitem especificar quais cores serão usadas. Então, neste caso, digamos que você tenha

a<-qplot(x, y, facets=~z)+stat_smooth(method="lm", aes(colour=z, fill=z))

Você pode especificar cores para o preenchimento e a cor usando o seguinte. Observe que a segunda cor é clara, pois está usando um valor hexadecimal com os dois números finais representando transparência. Então, 00 = claro.

a+stat_fill_manual(values=c("grey", "#11111100"))+scale_colour_manual(values=c("blue", "#11111100"))
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top