删除或清除以前绘制的凹坑图

时间:2014-11-26 10:23:33

标签: d3.js bar-chart dimple.js

如何删除或清除以前绘制的凹坑条形图。

我使用新数据重绘了以下内容: chart.data = newData; chart.draw();

如果数据不为空,则会重绘。如果新数据为空,则先前绘制的图表将保留并且不会被删除。如何清除以前绘制的图表?

2 个答案:

答案 0 :(得分:4)

如果您要删除整个图表(形状和轴以及所有图表),您可以执行以下操作:

chart.svg.selectAll('*').remove();

如果您只想删除条形图/线条/形状并保持轴和图例不变,则可以执行以下操作:

chart.series.forEach(function(series){
    series.shapes.remove();
});

我认为这实际上可能是与此相关的错误:https://github.com/PMSI-AlignAlytics/dimple/issues/29如果将chart.data设置为空数组,则清除旧系列。

答案 1 :(得分:-1)

谢谢。我可以从series.shapes.remove()获得它,下面是代码片段:

if (0 === total_records) {
    chart.series[0].shapes.remove();
    chart.draw(2000);
}
else {
    chart.series[0].shapes.remove();
    chart.series.splice(0, 1);
    chart.addSeries("Name", dimple.plot.bar);
    chart.data = p_data;
    chart.draw(2000);
}