我使用 NVD3 制作了一个图表,它填充了 3 个堆叠的条形图。单击一个栏时,我希望触发一个请求,并让图表完全填充新数据。不幸的是,该图表并没有替换我以前拥有的数据,而是在我的图表上附加了一个新的条形图,形成了一个包含 4 个堆叠条形图的图表,而我只需要 1 个条形图。如何在引入新数据的同时删除旧数据?
谢谢!
var chartData = setChartData(data1);
var chart;
nv.addGraph(function() {
chart = nv.models.multiBarChart()
.barColor(d3.scale.category20().range())
.margin({bottom: 100})
;
chart.multibar
.hideable(true);
chart.reduceXTicks(false).staggerLabels(false);
chart.xAxis
.axisLabel("Current Index")
.showMaxMin(true)
.tickFormat(function(d,i){ return allBillsForChart[d][0][2]});
chart.yAxis
.tickFormat(d3.format(',.1f'));
d3.select('#chart1 svg')
.datum(chartData)
.call(chart);
nv.utils.windowResize(chart.update);
chart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });
return chart;
},function(){
d3.selectAll(".nv-bar").on('click', function(d, i){
d3.json("fakeURLToFetchData", function(error, data){
arr = [];
arr.push(data)
handledData = setChartData(arr)
d3.select('#chart1 svg').datum(handledData).call(chart);
nv.utils.windowResize(chart.update);
return chart
})
});
});