2012-01-05 2 views
5

私は、 ggplot2の本の5.10節にあるgeom_rectの例を見てきましたが、aes 関数のNULLの目的を理解していません。例えば、mpgデータを使用して:geom_rectとNULL

g = ggplot(data=mpg, aes(x=displ, y=hwy)) + geom_point() 

#Produces a plot with a transparent filled region 
g + geom_rect(aes(NULL, NULL), alpha=0.1,xmin=5, xmax=7, ymin=10, 
ymax=45, fill="blue") 

#Solid filled region (v0.9) or nothing in v0.8 
g + geom_rect(alpha=0.1,xmin=5, xmax=7, ymin=10, ymax=45, fill="blue") 

私の理解では、NULLのは、x & yのマッピング、 をリセットしているが、これは、透明性に影響を与えなければならない理由を私は見ていないということです。

+0

2番目の例では、私のために矩形が生成されません。しかし、 'geom_rect'はいつも私にとってブードーのように思えました(信頼できるように動作させる唯一の方法は、常にそれ自身のデータフレームを渡すことです)。 – joran

+0

@joran:ggplot v0.9を使用しています。私は違いがあるとは思わなかった、申し訳ありません。それにもかかわらず、第2のコマンドのすべてについて、「NULL」は何ですか? – csgillespie

+1

私の理解はあなたのものと同じです。すなわち、xとyの美学をリセットしています。しかし、なぜそれがアルファに影響するのかわからない、申し訳ありません。 – joran

答えて

1

私はハドレーさんのコメントコミュニティのwikiの答え

仕様事項は、互いの上に積み重ねられた複数の透明 矩形が固体に見えるということです理由作った - なぜなら、あなた 避難所」データをリセットすると、mtcarsの各行に対して1つの矩形が得られます。 おそらく、代わりに注釈を使用したいと思うでしょう。

関連する問題