2013-06-18 10 views
5

Sto usando ggplot2 di scale_colour_gradient2 di avere una scala di sfumatura di colore per i numeri da 1 a 20 utilizzando:gradiente di colore della scala di inversione in ggplot2 in R?

geom_line(aes(x=x, y=y, colour=c)) + 
    scale_colour_gradient2(lims=c(1, 20), high="red", low="grey") 

Il problema è che questo mette valore a 1 il bianco, ed i valori a 20 il rosso, e io' mi piace invertire questo (i valori più piccoli nella colonna c per il colore sono più rossi di valori superiori. Come posso fare? Se inverto low e high in scale_colour_gradient2 dà solo un gradiente di scopo che non è quello che intendevo.

+0

Da dove viene "grigio" c'entra? Sembra che tu voglia usare 'scale_colour_gradient()' – alexwhan

+0

@alexwhan: voglio solo che sbiadisca dal rosso al bianco – user248237dfsf

risposta

4

Prova:

scale_colour_gradient(low = "red", high = "white") 

scale_colour_gradient2 è per un gradiente simmetrico.

-1

Quando si specifica la variabile di colore, inserire un segno meno

p <- ggplot(temphunt, aes(x=Time.dec, y=TEMP..C., colour=-mod1.residuals)) + scale_colour_gradientn(colours=rainbow(10)) 

invertirà la scala dell'arcobaleno, relativa a lasciare il segno meno fuori

Problemi correlati