0

我使用 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
})
});

});

4

0 回答 0