5

私は ggplot2 で散布図を作成しようとしていますが、サイズは 3 番目の変数にマッピングし、density2d 等高線を使用しています。凡例は、density2d 等高線を含めることで混乱しているようです。

たとえば、次のコードは機能します。

library('ggplot2')
set.seed(1)
x=rnorm(100); y=rnorm(100,sd=10); z=seq(1,10,length.out=100)
dd=data.frame(x=x,y=y,z=z)
ggplot(dd,aes(x,y,size=z))+geom_point()

プロットは正常に見える

しかしここで、 への呼び出しを追加すると、凡例が異常に動作することに注意してくださいstat_density2d()。特に、プロットの凡例には、黒い円ではなく青いブロックが表示されます。

ggplot(dd,aes(x,y,size=z))+geom_point()+stat_density2d()

プロットの凡例に黒い円ではなく青いブロックが表示される

4

1 に答える 1

6

size=に設定できる美学の 1 つであり、このstat_density2d()場合は呼び出しで設定されているため、凡例は線と点の両方に対して作成されます (以前に呼び出されggplot()たように、凡例の線の下に点が隠されています)。凡例から青い線を削除するには、手動で(または他の値を) 設定すると、凡例が正しくなります。geom_point()stat_density2d()size=0.5stat_density2d()

ggplot(dd,aes(x,y,size=z))+geom_point()+stat_density2d(size=0.5)

ここに画像の説明を入力

于 2013-04-17T17:20:24.403 に答える