我是D3的新手,需要使用D3设计一个热图。我拥有20年的数据,并要求显示每个月的最大值和最小值。问题是不同的月份有不同的天,而2月有28天或29天。有人可以帮我吗?
抱歉,我的描述不清楚。这是数据的一部分。enter image description here。我需要使用每个月的最大值和最小值来绘制热图。数据从1997年1月1日到2007年12月31日。
答案 0 :(得分:-1)
您可以使用underscorejs
和d3.extent
进行清理。
例如,您的列表就像
data = [{
month: 1,
value: 10
}, {
month: 1,
value: 20
}, {
month: 2,
value: 30
}, {
month: 2,
value: 40
}];
您使用underscore
groupBy
这样的方法
result = _.groupBy(data, 'month');
您的结果将是
result = {
1: [{
month: 1,
value: 10
}, {
month: 1,
value: 20
}],
2: [{
month: 2,
value: 30
}, {
month: 2,
value: 40
}]
};
然后您可以使用d3.extent
绘制最大值和最小值。