如何在D3中显示月份的最大值和最小值

时间:2018-07-20 01:08:04

标签: javascript html d3.js

我是D3的新手,需要使用D3设计一个热图。我拥有20年的数据,并要求显示每个月的最大值和最小值。问题是不同的月份有不同的天,而2月有28天或29天。有人可以帮我吗?

抱歉,我的描述不清楚。这是数据的一部分。enter image description here。我需要使用每个月的最大值和最小值来绘制热图。数据从1997年1月1日到2007年12月31日。

1 个答案:

答案 0 :(得分:-1)

您可以使用underscorejsd3.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绘制最大值和最小值。