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)
我有一张图表,我想为 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)