gpt4 book ai didi

javascript - 堆栈和嵌套无法将 v3 转换为 v4

转载 作者:行者123 更新时间:2023-11-28 03:53:19 26 4
gpt4 key购买 nike

我正在转换 Mike Bostock 的原始 Stacked Area Chart via Nest example到 d3 v4,但我在调用 stack(nest.entries(data)) 时显然没有得到正确的结果

我这里有一个可用的 v3 codepen - https://codepen.io/lebadget/pen/ypLZpJ

这里破坏了 v4 codepen - https://codepen.io/lebadget/pen/VywgxG

任何人都可以帮我理解为什么 v4 返回 layers 的空数组(第 121 行是问题所在)。

更新:

我已将范围缩小到:

// v3
const groupedData = nest.entries(data);
var layers = stack(groupedData);
console.log('layers', layers);

"layers" [Object]是的,它有效!

// v4
const groupedData = nest.entries(data);
var layers = stack(groupedData);
console.log('layers', layers);

"layers": []什么都没有

最佳答案

我在 D3 小组线程上看到了您对问题跟踪的帮助请求,并在此处查看了您的代码。

我的理解是Stack(D3 v4)需要传递一个转置数据集给它。其中每行数据代表给定“堆栈”的所有值图,其中每个键都出现在该行对象上。在您的代码中,当您需要按行分组时,您可以将数据按系列(Group1、Group2、Group3)分组。

查看 Mike 的相关文档,特别是显示数据如何传递到堆栈的部分:

   var data = [
{month: new Date(2015, 0, 1), apples: 3840, bananas: 1920, cherries: 960, dates: 400},
{month: new Date(2015, 1, 1), apples: 1600, bananas: 1440, cherries: 960, dates: 400},
{month: new Date(2015, 2, 1), apples: 640, bananas: 960, cherries: 640, dates: 400},
{month: new Date(2015, 3, 1), apples: 320, bananas: 480, cherries: 640, dates: 400}
];

https://github.com/d3/d3-shape/blob/master/README.md#_stack

干杯,

汤姆

关于javascript - 堆栈和嵌套无法将 v3 转换为 v4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47782925/

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