gpt4 book ai didi

d3.js - 在 D3.js 中嵌套数据

转载 作者:行者123 更新时间:2023-12-04 05:48:19 28 4
gpt4 key购买 nike

我正在尝试熟悉 D3,但很难以正确的格式获取数据。我有一组对象,每个对象中都有一个“日期”键,我正在尝试使用 d3.nest 按日期对它们进行分组,但甚至无法使示例正常工作(取自 https://github.com/mbostock/d3/wiki/Arrays )。我已将其淡化为最基本的内容,但代码直接取自 d3 wiki。

var yields = [{yield: 27.00, variety: "Manchuria", year: 1931, site: "University Farm"},
{yield: 48.87, variety: "Manchuria", year: 1931, site: "Waseca"},
{yield: 27.43, variety: "Manchuria", year: 1932, site: "Morris"}]

var nest = d3.nest()
.key(function(d) { return d.year; })
.entries(yields);

根据 wiki,这应该按以下结构组织数据:

[{key: 1931, values: [
{yield: 27.00, variety: "Manchuria", year: 1931, site: "University Farm"},
{yield: 48.87, variety: "Manchuria", year: 1931, site: "Waseca"}]},
{key: 1932, values: [
{yield: 27.43, variety: "Manchuria", year: 1932, site: "Morris"}]}
]

但是当使用 console.dir(yields) 检查时,我得到了与使用 d3.nest 之前相同的平面结构。由于我什至无法从文档中获取示例,所以我不知道下一步该尝试什么。帮助菜鸟?

最佳答案

您想查看,而不是产量yields 是您传入的内容,nest 是您输出的内容。 yield 不变。

d3 wiki 可以用更易读的方式编写内容:

var nest = d3.nest()
.key(function(d) { return d.year; })

var nested = nest.entries(yields);

现在,nest 是一个对象,您可以将其重复用于具有年份键的类似数据,而 nested 是一个 yields 的输出。 key 函数返回嵌套对象本身,但 entries 返回新的嵌套数据。

关于d3.js - 在 D3.js 中嵌套数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15011865/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com