如何创建重复次数在一定范围内的热图
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
包有一些选项。
我有一个看起来像这个的数据集,一列中有月份 (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
包有一些选项。