gpt4 book ai didi

d3.js - 如何使用 nvd3.js multiBarChart 正确显示堆叠数据

转载 作者:行者123 更新时间:2023-12-04 20:12:03 26 4
gpt4 key购买 nike

我正在使用 nvd3.js 生成多条形图。这是我的代码:

$(function() {

$.get('/charts/objects_created/')
.done(function(resp) {
init_graphs(resp);
});

function init_graphs(data) {
nv.addGraph(function() {
var chart = nv.models.multiBarChart();
chart.xAxis.tickFormat(function(d) {
return d3.time.format('%x')(new Date(d));
});

chart.yAxis.tickFormat(d3.format(',d'));

d3.select('.chart#recent_activity svg')
.datum(data)
.transition().duration(500).call(chart);

nv.utils.windowResize(chart.update);

return chart;
});
}
});

这是我的数据:
[
{
"values":[
{
"y":3,
"x":"04/05/2013"
},
{
"y":1,
"x":"04/11/2013"
},
{
"y":3,
"x":"04/12/2013"
}
],
"key":"Apples"
},
{
"values":[
{
"y":3,
"x":"04/05/2013"
},
{
"y":1,
"x":"04/12/2013"
},
{
"y":0,
"x":"04/11/2013"
}
],
"key":"Oranges"
}
]

它看起来很棒分组:
multibarchart grouped

但堆叠失败:
multibarchart stacked

如您所见,最后一个堆栈不正确;橙子被放置在苹果部分的中间。此外,虽然很难看到,但第二列中有 0 个橙色的 1 像素条,位于 y 轴上的 3。

任何人都可以看到我做错了什么,或者 nvd3 有错误吗?

谢谢!

最佳答案

如果您仔细查看您的数据,您会发现两个类别中日期的顺序都发生了变化,这导致了图形堆叠时的第三层。分组时它工作正常。

请注意数据的顺序。

这是更新后的数据。

[{
"values" : [{
"y" : 3,
"x" : "04/05/2013"
}, {
"y" : 1,
"x" : "04/11/2013"
}, {
"y" : 3,
"x" : "04/12/2013"
}],
"key" : "Apples"
}, {
"values" : [{
"y" : 3,
"x" : "04/05/2013"
}, {
"y" : 0,
"x" : "04/11/2013"
}, {
"y" : 1,
"x" : "04/12/2013"
}],
"key" : "Oranges"
}]

关于d3.js - 如何使用 nvd3.js multiBarChart 正确显示堆叠数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16047850/

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