Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用d3.js/c3.js替换图表数据集_Javascript_Jquery_Arrays_D3.js_C3.js - Fatal编程技术网

Javascript 用d3.js/c3.js替换图表数据集

Javascript 用d3.js/c3.js替换图表数据集,javascript,jquery,arrays,d3.js,c3.js,Javascript,Jquery,Arrays,D3.js,C3.js,在演示中,我尝试卸载所有当前数据集并加载新数据集,如下所示: chart.load({ columns: [ ['data1', 130, 120, 150, 140, 160], ['data2', 30, 20, 50, 40, 60, 50], ], unload: ['data3', 'data4', 'data5'], }); 使用C3.js 这显然不是处理此过程的正确方法,正如演示所示,这无法正常工作 C3教程指出,数据集应按

在演示中,我尝试卸载所有当前数据集并加载新数据集,如下所示:

chart.load({
    columns: [
        ['data1', 130, 120, 150, 140, 160],
        ['data2', 30, 20, 50, 40, 60, 50],
    ],
    unload: ['data3', 'data4', 'data5'],
});
使用C3.js

这显然不是处理此过程的正确方法,正如演示所示,这无法正常工作

C3教程指出,数据集应按如下方式替换:

chart.load({
    columns: [
        ['data1', 130, 120, 150, 140, 160],
        ['data2', 30, 20, 50, 40, 60, 50],
    ],
    unload: ['data3', 'data4', 'data5'],
});
再次演示表明,这是正确的工作,但

问题

如何卸载所有当前数据集并用新数据集替换它们,而不必指定它们各自的数据名(
data3
data4
)等

注意:数据集在名称和数量上是可变的,因此我只想卸载所有数据集


从根本上说,我所要做的就是在单击时用新的数据集替换数据集。

我不知道它是否对您有用,在过去我使用过这种方法(在加载的相同功能中卸载)。你的代码应该是

chart.load({
     columns: [
          ['data1', 130, 120, 150, 140, 160, 150],
          ['data4', 30, 20, 50, 40, 60, 50],
      ],
     unload: chart.columns,
});
工作


谢谢你的意见,但这是我上面提到的推荐方法。我需要能够在不指定名称的情况下卸载所有数据集。@Obsidian我已经更新了答案。这是您正在寻找的吗?这不应该卸载刚刚添加的列吗?
$('#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,
    });
});