2012-02-24 5 views
4

2つのデータセットを同じプロットにプロットすることはできますが、各セットごとに異なるカラーパレットを使用できますか?私が見たい何ggplot2のさまざまなレイヤに異なるカラーパレットを使用するにはどうすればよいですか?

testdf <- data.frame(x = rnorm(100), 
        y1 = rnorm(100, mean = 0, sd = 1), 
        y2 = rnorm(100, mean = 10, sd = 1), 
        yc = rnorm(100, mean = 0, sd = 3)) 
ggplot(testdf, aes(x, y1, colour = yc)) + geom_point() + 
    geom_point(aes(y = y2)) 

は、データの1セットがブルース(ycによって設定された色)、および赤の他のセット(ycによって設定され、再び色)で、y1を言う、です。

凡例には、2つの色の尺度が表示されます.1つは青で、もう1つは赤です。

ご意見ありがとうございます。

答えて

3

あなたは透明度を変化させることに「ブルース」と「赤」を翻訳した場合、それはggplotの理念に反しないです。したがって、Thierry's Moltenversion of the data setを使用して:

ggplot(Molten, aes(x, value, colour = variable, alpha = yc)) + geom_point() 

このトリックを行う必要があります。

+0

素晴らしい!ご協力いただきありがとうございます! – drbv

4

これはggplot2では不可能です。私はggplot2の哲学に反して、それはプロットの解釈を複雑にするためだと思う。

別のオプションは、ポイントを区切るために異なる形を使用することです。

testdf <- data.frame(x = rnorm(100), 
         y1 = rnorm(100, mean = 0, sd = 1), 
         y2 = rnorm(100, mean = 10, sd = 1), 
         yc = rnorm(100, mean = 0, sd = 3)) 
Molten <- melt(testdf, id.vars = c("x", "yc")) 
ggplot(Molten, aes(x, value, colour = yc, shape = variable)) + geom_point() 
+0

ありがとうございましたThierry、私は形のアイデアが好きです! – drbv

関連する問題