2017-09-05 17 views
1

gagplot2で、「変更」が「はい」に等しい点が赤い点、残りが灰色になり、「重要」に「重要」に等しい点が追加された散布図を作成したい縁どりは緑色で、残りは灰色の境界線があります。ここ は私の試みです:ggplot2の複数のフィーチャ散布図

ggplot(df, aes(x = a, y = b)) + 
    geom_point(aes(col = Changed)) + 
    geom_point(aes(col = Significant)) + 
    scale_color_manual(values = c("green", "red","grey", "grey")) + 
    theme_bw(base_size = 12) + theme(legend.position = "bottom") 

と入力データ:これを行うの

structure(list(a = c(4.31316551, 5.7663368, 2.49063318, 5.83090286, 
3.11188057, 9.58084417, 4.08696886, 3.11188057, 6.43800344, 1.77771123, 
4.22594833), b = c(0.848363512, 0.045492721, 0.049883076, 0.136202457, 
0.572585532, 0.175069609, 0.000782666, 0.848363512, 0.254619199, 
0.378181529, 0.848363512), Significant = structure(c(1L, 2L, 
2L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L), .Label = c("no", "yes"), class = "factor"), 
    Change = structure(c(1L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 
    1L, 1L), .Label = c("no", "yes"), class = "factor")), .Names = c("a", 
"b", "Significant", "Change"), class = "data.frame", row.names = c(NA, 
-11L)) 
+1

は、データサンプルを追加することができ – MorganBall

+0

更新バージョンを参照してくださいしてください – user2904120

答えて

1

二つの異なる方法:

ggplot(data = df, mapping = aes(x=a,y=b)) + 
    geom_point(shape = 21, size=3, mapping = aes(fill=Change, color=Significant)) + 
    scale_fill_manual(values=c("grey", "red")) + 
    scale_color_manual(values=c("grey","green")) 

ggplot(data = df, mapping = aes(x=a,y=b)) + 
    geom_point(data=df[df$Significant == "no",], color="grey", size=5) + 
    geom_point(data=df[df$Significant == "yes",], color="green", size=5) + 
    geom_point(size=3, mapping = aes(color=Change)) + 
    scale_color_manual(values=c("grey","red")) 
+0

ありがとう、私は最初のものが好きです、もう1つの質問だけ、3番目の指定子があるとします。 aは4以上でなければならないので、色も適用され、そうでなければ灰色のままです。 – user2904120

+0

計算された条件を新しい列としてデータセットに追加することをお勧めします。 –