Domanda

Ho alcuni dati per i quali, a un certo livello di un fattore, non v'è una correlazione significativa. Al altro livello, non c'è nessuno. Plotting questi side-by-side è semplice. Aggiunta di una linea di entrambi con stat_smooth, anche semplice. Tuttavia, non voglio la linea o il suo riempimento visualizzato in una delle due facce. C'è un modo semplice per fare questo? Forse specificando un colore bianco per il riempimento e il colore di una delle linee in qualche modo?

È stato utile?

Soluzione

Non pensare a prendere un aspetto, pensare fornendo un sottoinsieme di dati stat_smooth:

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

Altri suggerimenti

Naturalmente, poi ho risposto alla mia domanda. Anche se, c'è un modo meno hack-y per fare questo? Mi chiedo se si potrebbe anche andare bene diverse funzioni per diversi pannelli.

Una tecnica è quella di utilizzare + scale_fill_manual e scale_colour_manual. Essi permettono di specificare quali colori verranno utilizzati. Quindi, in questo caso, diciamo che hai

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

È possibile specificare i colori per il riempimento e il colore utilizzando la seguente. Nota, il secondo colore è chiaro, in quanto utilizza un valore esadecimale con gli ultimi due numeri che rappresentano trasparenza. Così, 00 = chiaro.

a+stat_fill_manual(values=c("grey", "#11111100"))+scale_colour_manual(values=c("blue", "#11111100"))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top