如何规范化R ggplot中stat_binhex中的计数?

时间:2015-10-27 11:01:03

标签: r ggplot2

我有一个plot.gg <- ggplot(data=rbind( data.frame(x=rnorm(2500, m=0.41, sd=0.1), y=rnorm(2500, m=12000, sd=1000), type="A"), data.frame(x=rnorm(100000, m=0.60, sd=0.1), y=rnorm(100000, m=6000, sd=1000), type="B") ), mapping=aes(x=x, y=y, colour=type, group=type) ) + geom_hex(alpha=0.3) plot.gg ,有两个变量,测量两个类的参数,每个类的数据量非常不同(~2500个样本对~100000个样本)。

示例代码:

..count..

结果: enter image description here

这里,单个调色板用于两个类,这导致了A类的均匀灰色填充。 我想为A类设置一个单独的调色板,以便查看其分布。

另一个可接受的变体是将数据标准化以查看百分比而不是计数。但是,我无法弄清楚,如何使用(..count..)/sum(..count..)alpha

我还需要geom_hex中的service来查看类中的重叠。

1 个答案:

答案 0 :(得分:2)

实测值。 aes(fill=..density..)中的解决方案为geom_hex

plot.gg <- ggplot(data=rbind(
                       data.frame(x=rnorm(2500, m=0.41, sd=0.1), y=rnorm(2500, m=12000, sd=1000), type="A"),
                       data.frame(x=rnorm(100000, m=0.60, sd=0.1), y=rnorm(100000, m=6000, sd=1000), type="B")
),
mapping=aes(x=x, y=y, colour=type, group=type)) + geom_hex(alpha=0.6, aes(fill=..density..))

plot.gg

我也增加了alpha,因为它现在可以提供更好的外观。