ggplot2:Установите альфа=0 для определенных точек в зависимости от значения заполнения

В настоящее время я работаю над проектом, который включает создание графиков, очень похожих на примеры на странице Hadley ggplot2 0.9.0 относительно stat_density2d ().

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))

enter image description here

Теперь то, над чем я борюсь, это способ по существу отключить альфа-канал (alpha=0)для всех плиток, не входящих в диапазон заливки-. Таким образом, для каждой серой плитки, видимой на изображении, альфа должна быть установлена ​​на 0. Это сделало бы изображение намного лучше, особенно при наложении, например, поверх карты.

Если у кого-то есть какие-либо предложения, мы будем очень признательны.

10
задан Dieter Menne 18 April 2012 в 21:27
поделиться