r - ggplot2:根据填充值为某些点设置alpha = 0

标签 r plot ggplot2 alpha fill

我目前正在从事一个涉及创建绘图的项目,该绘图与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))

现在,我正在努力的一种方法是为所有不在填充范围内的图块基本上关闭alpha(alpha = 0)。因此,图像中看到的每个灰色图块都应将alpha设置为0。这会使图像更加美观,尤其是例如在 map 上叠加时。

如果有人有任何建议,将不胜感激。

最佳答案

这似乎可行:

d + stat_density2d(geom="tile", 
     aes(fill = ..density.., 
     alpha=cut(..density..,breaks=c(0,1e-5,Inf))), 
     contour = FALSE)+
 scale_alpha_manual(values=c(0,1),guide="none")

关于r - ggplot2:根据填充值为某些点设置alpha = 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10210450/

相关文章:

python - 如何在灰度图像上绘制彩色像素?

python - 用pylab或matplotlib指定savefig的路径

r - 用正值和负值标记堆叠条形图

r - 我如何使用 geom_rect 在夜间添加阴影而不扩展刻面比例?

r - 在 R 中,合并并使用向量名称作为列名称

python - 在 R 中创建我的数据框列的所有可能组合

python - 如何使标签在 python 中的 seaborn 中看起来正常?

r - 使用 ggplot2 geom_smooth method=loess 绘制数据是否困难?

r - 将 `dimnames` 分配给列表中的所有矩阵时出错

r - 使用 'bife' 包的固定效应 logit 模型的拟合优度