私は現在、ハドレーのggplot2 0.9.0ページのstat_density2d()に関する例とよく似たプロットを作成するプロジェクトに取り組んでいます。 ggplot2:塗りつぶし値に応じて特定のポイントに対してアルファ= 0を設定します
library(ggplot2)
dsmall <- diamonds[sample(nrow(diamonds), 1000), ]
d <- ggplot(dsmall, aes(carat, price)) + xlim(1,3)
d + stat_density2d(geom="tile", aes(fill = ..density..), contour = FALSE)
last_plot() + scale_fill_gradient(limits=c(1e-5,8e-4))
は今、私が苦しんでいますことは、本質的に(アルファ= 0)ではない塗りつぶし範囲内のすべてのタイルのアルファをオフにする方法です。したがって、イメージに表示されるすべての灰色のタイルは、アルファを0に設定する必要があります。これは、たとえばマップの上にオーバーレイする場合など、イメージをもっとよくするでしょう。
誰かが何か提案があれば、これは非常に感謝しています。
灰色領域はscale_fill_gradientするna.value引数によって制御され、それでも私は、透明色を指定した場合(等na.value = RGB(1,1,1,0))それは不透明になるので、何か他のことが起こっているはずです。 – Fojtasek
さて、scale_alpha_continuousの制限を塗りつぶし値(密度)に依存するように設定することができたら、alpha na.value = 0 ... –
これまでのところ、 'gray90'に設定すると、それはバックグラウンドグリッドの色ですから*ほぼ* OKです。これはggplotの "issue"(バグレット/ウィッシュリスト?)と思われます。おそらくhttps://github.com/hadley/ggplot2に関連しています/ issues/475? –