2013-05-08 18 views
6

Ho usato ggplot2 per creare due istogrammi sovrapposti trasparenti.Come creare istogrammi sovrapposti trasparenti bianchi e neri usando ggplot2?

test = data.frame(condition = rep(c("a", "b"), each = 500), value = rep(-1, 1000)) 
test[1:500,]$value = rnorm(500) 
test[501:1000,]$value = rnorm(500) + 2 

fig = ggplot(test, aes(x = value, fill = condition)) + 
     #scale_fill_grey() + 
     geom_histogram(position = "identity", alpha = .5) 
fig 

La trama risultante ha un bell'aspetto, ma è a colori. Ho bisogno di una trama in scala di grigi o nero/bianco.

Utilizzando "scale_fill_grey()" si ottiene un grafico con trasparenza che è molto difficile da "leggere".

Idealmente, mi piacerebbe un grafico in bianco e nero che usi texture al posto del colore, ad esempio, tratteggio incrociato: "///" per una condizione, "\\\" per l'altra condizione, risultante in "XXX "quando le barre si sovrappongono. È possibile?

+0

A mia conoscenza, texturing non è possibile con 'ggplot2'. – Arun

+0

E 'possibile usare texturing con la funzione hist() o truehist() (dalla libreria MASS)? – user2363777

risposta

8

Che ne dici di questo (nessuna texture ancora)?

fig = ggplot(test, aes(x = value, fill = condition)) + 
    geom_histogram(position = "identity", alpha = .8) + 
    scale_fill_manual(values=c("grey20", "grey60")) + theme_bw() 
fig 

enter image description here

Problemi correlati