2016-08-25 6 views
3

私は初心者で、この事がどのように動作するかを理解するためにWickhamのggplot2本を読んでいます。私は内側と外側の属性(色、サイズなど)の設定についてちょっと混乱していますaes()これまでに参照した参考文献を含めました。gesplot2のaes()とgeom()の色とサイズを設定する

私はこれを理解するためにXYZ実験を実行しました:

データ:

df <- data.frame(x = c(1,2,3), y = c(1,2,3), z=c("a","b","c")) 

を実験1:

ggplot(df, aes(y, y)) + 
    geom_point(size = 4, show.legend = TRUE) 

私はしましたが、これは、凡例を表示しません。 TRUEに設定します。なぜこれが起こっているのか分かりません。

実験2:

ggplot(df, aes(y, y)) + 
    geom_point(size = 4, aes(colour = z)) #I see the legend 

これは意外に凡例を示しています。私は、参照から、変数を "色"にマッピングすることが凡例を示す正当な理由であると信じています。変数を色にマップしました。ここで

実験3

ggplot(df, aes(y, y)) + 
    geom_point(size = 4, aes(colour = z),color = "red") 

は、私は、赤い色は私の2番目の呼び出し、すなわち色= "赤" で上書きされると信じています。私は正しいですか?

実験4:

ggplot(df, aes(y, y)) + 
    geom_point(size = 4, aes(colour = z,size=20),color = "red") 

私はサイズ= 20の内部のAESを設定した場合サイズが大きくなるかどうかをテストしたかったです。それはしません。 、私はAEのsize = 10外を維持すると考え

ggplot(df, aes(y, y)) + 
    geom_point(size = 4, color = "red") + 
    geom_point(aes(colour = z),size=10) #legend appears, but I have lost border colors. 

最後に、私はサイズを設定すると思ったので:5実験= 20

サイズ設定前にサイズを= 4が設定されたため、私はなぜわかりません=エース内の定数は、sizeの値をデフォルトにします。これは大きさが増えたことで機能しましたが、私は伝説を失いました。

私は完全に失われています - 凡例を表示したり、サイズを増やしたり(手動で変数を使用する)、または色を変更する(変数を使用するか手動で行うか)私は変数をマップしなければならないので、サイズの変更の色が最も簡単だろうと私は理解しています。しかし、私はそれらのうちの1つ(サイズや色など)を一定に保ちたいと思うかどうかはわかりません。

ggplot(df, aes(y, y)) + 
    geom_point(aes(colour = z, size = x)) ##this maps color and size to variables. 

私はどんな考えにも感謝します。最後に、私の質問があなたにとってはあまりにも基本的すぎる場合は、ごめんなさい。


参考文献:スレッドからDifference between passing options in aes() and outside of it in ggplot2


更新:(これを読んでいる人たちのもののための議論の後に...)

実験1:ない伝説1つの必要がないので、表示されます。サイズにマップされる変数はありません。その場合、伝説には何も表示されません。

実験2: 1つのレイヤーがあり、変数にマップされます。だから、私は伝説を見る。

実験3:変数を使用して色を設定しましたが、赤色で上書きされました。

実験4ここです。 Expt 4と3の出力は、オーバーライドされた問題のため同じです。

実験5第1層の上に第2層が重ねられます。これを逆にする一つの方法は、次のようになります。

ggplot(df, aes(y, y)) + geom_point(aes(colour = z),size=10) + 
    geom_point(size = 4, color = "red") 

答えて

関連する問題