10

ggplot2では、散布図の色を変更するにはどうすればよいですか?

4

3 に答える 3

12

Here's a small dataset:

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

Suppose I want my points colored using the value v. I can change the way in which the coloring is performed using the scale_colour_gradient() function.

library(ggplot2)
qplot(x,y,data=dat,colour=color,size=4) + 
  scale_colour_gradient(low="black", high="white")

alt text

This example should just get you started. For more, check out the scale_brewer() mentioned in the other post.

于 2009-09-08T19:59:03.987 に答える
9

check out the ggplot documentation for scale_brewer http://www.had.co.nz/ggplot2/scale_brewer.html

some examples:

#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")
于 2009-09-08T19:57:47.107 に答える
8

データに色を付けたい個別のカテゴリがある場合、タスクは少し簡単になります。たとえば、データが次のように表示され、各行がトランザクションを表す場合、

> 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

顧客ごとに色分けされたトランザクションの散布図を作成したい場合は、これを行うことができます

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

取得するため....

顧客に色付けされた売上と利益

于 2011-09-15T22:36:06.263 に答える