如何创建重复次数在一定范围内的热图

How to create a heat map with the number of repetition inside a certain range value

我有一个看起来像这个的数据集,一列中有月份 (mese),另一列中有相应的值,我正在尝试创建一个 x 轴上有月份的热图,y 轴上的不同 "intervals"(例如从 0 到 10、10 到 20、20 到 30 等)以及每个范围内某个值范围在月内重复的次数。 我尝试对 x 轴和 y 轴都使用 cut 函数以创建多个值范围,然后将所有内容放入 table 并使用此代码绘制它

 x_c <- cut(x, 12)
 y_c <- cut(y, 50)
 z <- table(x_c, y_c)
 image2D(z=z, border="black")

但它似乎不起作用:比例总是从 0 到 1(我需要实际值)...有更简单的解决方案吗?


基本上,我需要最终结果看起来像这样(抱歉我的绘画技巧很差):即冬季的硫酸盐含量高于夏季,并且大部分数据遵循 "curve" 反映了这种趋势

您可以使用 ggplot2 中的 geom_bin2d。您可以定义垃圾箱的数量:

ggplot(data, aes(mese, nnso4)) + 
geom_bin2d(bins=c(12,50)) + 
scale_fill_gradient(low="yellow", high="red")

您可以更改填充比例,例如viridis包有一些选项。