ggplot bin2d 的不对称颜色渐变

asymmetric colour gradient with ggplot bin2d

我有一张图表,我想为 bin 密度着色(如下所示)。但是我希望将单个容器(值=1)设置为黑色,将更高的值设置为其他颜色,或者更好的设置为渐变。

我只能使用单一的黑色->红色渐变,或者完全不连续的颜色,这太令人困惑了。我无法成功地将手动颜色映射到 bin2d 函数的 'count' 变量。谁能提出修复建议?

我的代码:

ggplot(x, aes(x=as.factor(V4), y=V2)) +
  geom_bin2d(binwidth = c(1,100)) +
  scale_fill_continuous(low="black", high="red") +
  facet_wrap(~V1, nrow = 1)

放大版,可见区分2的难度

编辑:我发现了一种更好的表示方法。我想要的是一个看起来像这样的比例:

我的数据 (x) 如下所示:

  V1   V2 V3 V4
  5  5831 30 A
  5 20451 38 A
  5 23151 34 B
  5 30061 39 A
  5 34191 32 B
  5 41641 30 A

所以,V2 是行在 y 轴上的位置,V1 是小平面,V4 是垂直列。行的存在(之前由 V3 确定但此处不相关)有助于 bin2d 计数。

我已经设法解决了这个问题。发现可以使用“..count..”映射到绑定计数,所以现在的代码是:

ggplot(x, aes(x=as.factor(V4), y=V2)) +
  geom_bin2d(binwidth = c(1,100), aes(fill=as.factor(..count..))) +
  scale_fill_manual(values = c("#000000", "#FF9900", "#FF6600", "#FF3300")) +
  scale_y_continuous(breaks = pretty_breaks(12)) +
  facet_wrap(~V1, nrow = 1)