我生成了以下二维图,以显示 z 变量 (z_mean) 的平均值如何随变量 x 和 y 变化:
生成上图的代码如下:
test = data.frame(group = factor(c(rep(1, 100), rep(2, 100), rep(3, 100))),
x = sample(20, 300, replace =T),
y = sample(50, 300, replace =T),
z_mean = sample(5, 300, replace =T),
z_sd = runif(300))
ggplot(data=test, aes(x=x, y=y, z=z_mean) ) +
stat_summary2d(fun = function(x) {mean(x)}, binwidth = c(2, 5))+
# stat_bin2d(binwidth = c(2, 5))+
scale_fill_gradientn(colours=c("green", "yellow", "red"), name = "")+
facet_wrap(~group) +
ggtitle("z_mean")
现在我想将每个单元格内的数据点数放在文本中。有没有办法做到这一点,可能是从 stat_bin2d 中提取值。有什么方法可以提取 stat_summary2d 或 stat_bin2d 提取的值?
另外,我还有另一个图来表示变量 z (z_sd) 的标准偏差。见下文:
有没有一种创造性的方法可以将这两个数字合二为一。也许分割矩形或矩形内的圆的大小。我在ggplot中找不到这样做的方法。