0

我有一个这样的 JSON 数据集:

"document": [
                {
                    "id": "123",
                    "date": "01/01/2001"
                },
                {
                    "id": "124",
                    "date": "01/01/2001"
                },
                {
                    "id": "125",
                    "date": "02/01/2001"
                },
                {
                    "id": "126",
                    "date": "31/01/2001"
                },
                {
                    "id": "127",
                    "date": "31/01/2001"
                }
]

我需要创建一个显示文档计数/时间的区域图。

简单图表

那么,我是否需要将数据预处理成如下内容:

"document": [
                {
                    "date": "01/01/2001",
                    "count": 2
                },
                {
                    "date": "02/01/2001",
                    "count": 1
                },
                {
                    "date": "31/01/2001",
                    "count": 2
                }
]

或者,D3 会以某种方式自动为我做这件事吗?看起来像它可以做的事情的类型?

非常感谢

麦克风

4

1 回答 1

1

您正在寻找d3.nest

> d3.nest()
    .key(function(d){ return d.date; })
    .rollup(function(leaves) { return leaves.length; })
    .entries(data)

[{"key":"01/01/2001","values":2},
 {"key":"02/01/2001","values":1},
 {"key":"31/01/2001","values":2}]

(数据应设置为等于您发布的数组)

一些示例和解释来补充办公室文档。

于 2013-07-18T14:32:34.270 回答