在演示中,我试图卸载所有当前数据集并加载新的数据集:
使用C3.js
chart.unload();
chart.load({
columns: [
['data1', 130, 120, 150, 140, 160],
['data2', 30, 20, 50, 40, 60, 50],
],
});
这显然不是处理此过程的正确方法,因为演示显示,这不能正常工作。
C3教程指出数据集应该像这样替换:
chart.load({
columns: [
['data1', 130, 120, 150, 140, 160],
['data2', 30, 20, 50, 40, 60, 50],
],
unload: ['data3', 'data4', 'data5'],
});
再次,演示显示这种方法正常但是......
问题
如何卸载所有当前数据集并将其替换为新数据集,而无需指定其各自的数据名称(data3
,data4
)等?
注意:数据集的名称和数量都是可变的,因此我只想卸载ALL。
从根本上说,我想做的就是点击新数据集替换数据集。
答案 0 :(得分:10)
我不知道它是否对你有用,过去我曾经使用过这个(在相同的加载功能中卸载)。对于您的代码,它应该是
chart.load({
columns: [
['data1', 130, 120, 150, 140, 160, 150],
['data4', 30, 20, 50, 40, 60, 50],
],
unload: chart.columns,
});
工作fiddle
$('#A').on('click', function () {
chart.load({
columns: [
['data1', 130, 120, 150, 140, 160, 150],
['data4', 30, 20, 50, 40, 60, 50],
],
unload: chart.columns,
});
});
$('#B').on('click', function () {
chart.load({
columns: [
['data1', 130, 120, 150, 140, 160, 150],
['data4', 30, 20, 50, 40, 60, 50],
],
unload: chart.columns,
});
});