2009-09-08 38 views

Antwort

9

Überprüfung der ggplot Dokumentation für scale_brewer aus http://www.had.co.nz/ggplot2/scale_brewer.html

einige Beispiele:

#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") 
12

Hier ist eine kleine Datenmenge.

dat <- data.frame(x=1:20, 
        y=rnorm(20,0,10), 
        v=20:1) 

Angenommen, ich möchte, dass meine Punkte gefärbt den Wert v mit I kann die Art ändern, in der die Färbung mit der scale_colour_gradient() Funktion durchgeführt wird.

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

Dieses Beispiel sollten Sie gerade begonnen erhalten. Weitere Informationen finden Sie in der scale_brewer() in dem anderen Beitrag erwähnt.

8

Wenn Ihre Daten diskrete Kategorien haben, die Sie einfärben möchten, ist Ihre Aufgabe etwas einfacher. Zum Beispiel, wenn Sie Ihre Daten wie folgt aussehen, wobei jede Zeile eine Transaktion darstellt,

> 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 

und Sie wollen ein Streudiagramm von Transaktionen durch Kunden farbig machen, dann können Sie tun, um diese

p <- ggplot(d, aes(sales,profit)) 
p + geom_point(aes(colour = customer)) 

zu bekommen ....

sales vs profit coloured on customer

Verwandte Themen