In ggplot2, come è possibile modificare il colore della colorazione nel grafico a dispersione?Come cambiare il colore di scatterplot in ggplot2
risposta
check-out la documentazione ggplot per scale_brewer http://www.had.co.nz/ggplot2/scale_brewer.html
alcuni esempi:
#see available pallets:
library(RColorBrewer)
display.brewer.all(5)
#scatter plot
dsamp <- diamonds[sample(nrow(diamonds), 1000), ]
d <- qplot(carat, price, data=dsamp, colour=clarity)
dev.new()
d
dev.new()
d + scale_colour_brewer(palette="Set1")
dev.new()
d + scale_colour_brewer(palette="Blues")
Ecco un piccolo insieme di dati:.
dat <- data.frame(x=1:20,
y=rnorm(20,0,10),
v=20:1)
Supponiamo che io voglio che i miei punti colorati utilizzando il valore v I può cambiare il modo in cui la colorazione viene eseguita utilizzando la funzione scale_colour_gradient().
library(ggplot2)
qplot(x,y,data=dat,colour=color,size=4) +
scale_colour_gradient(low="black", high="white")
alt text http://i29.tinypic.com/amxtu0.png
Questo esempio dovrebbe semplicemente iniziare. Per ulteriori informazioni, consulta lo scale_brewer()
menzionato nell'altro post.
Se i tuoi dati hanno categorie discrete che desideri colorare, il tuo compito è un po 'più semplice. Ad esempio, se i dati di simile a questa, con ogni riga rappresenta una transazione,
> d <- data.frame(customer = sample(letters[1:5], size = 20, replace = TRUE),
> sales = rnorm(20, 8000, 2000),
> profit = rnorm(20, 40, 15))
> head(d,6)
customer sales profit
a 8414.617 15.33714
a 8759.878 61.54778
e 8737.289 56.85504
d 9516.348 24.60046
c 8693.642 67.23576
e 7291.325 26.12234
e si vuole fare un grafico a dispersione di transazioni colorati da parte del cliente, allora si può fare questo
p <- ggplot(d, aes(sales,profit))
p + geom_point(aes(colour = customer))
ottenere ....