【问题标题】:How to show month max and min in D3如何在 D3 中显示月份的最大值和最小值
【发布时间】:2018-07-20 01:08:03
【问题描述】:

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

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

【问题讨论】:

  • 您好 jrqwqa,欢迎来到 Stack Overflow!就目前而言,您的要求有点不清楚。您能否添加到目前为止您一直在使用的任何代码,并阐明该代码的预期和实际输出到底是什么?谢谢!
  • 您应该查看 d3 文档。具体查看以下链接中的 d3.max() 和 d3.min():github.com/d3/d3-array
  • 与问题无关:你能分享数据吗?我很好奇。
  • @alt255 这不是不相关的:实际上,这是问题的一个基本的,缺失的部分(因此它是题外话,接近投票是我的)。

标签: javascript html d3.js


【解决方案1】:

您可以使用underscorejsd3.extent 来解决这个问题。

例如,您的列表是这样的,

data = [{
    month: 1,
    value: 10
}, {
    month: 1,
    value: 20
}, {
    month: 2,
    value: 30
}, {
    month: 2,
    value: 40
}];

underscoregroupBy方法之类的,

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 绘制最大值和最小值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-19
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 2015-03-26
    相关资源
    最近更新 更多