首页 > 解决方案 > 如何创建重复次数在一定范围值内的热图

问题描述

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

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

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

数据集


本质上,我需要最终结果看起来像这样(抱歉我的绘画技巧很差):即冬季硫酸盐含量高于夏季,并且大部分数据遵循反映这种趋势的“曲线” 油漆中的例子

标签: rhistogramheatmap

解决方案


您可以使用geom_bin2d来自ggplot2. 您可以定义 bin 的数量:

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

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


推荐阅读