图表不会在onchange函数中重绘

用户名

我已经建立了一个具有C3驱动的图表的HTML页面。页面加载后,图表将从CSV文件加载数据。select我的页面上还有一个元素。当用户更改optionin时select,我希望图表重新加载新数据。

基本上,这是我的代码。

var chart = c3.generate({
    bindto: "#chart",
    data: {
        url: dataFile,
        x: "year"
    }
});

document.getElementById("select-element").onchange = function(){
    var newData = [ /* an array of JavaScript objects */ ];
    chart.data.json = newData;
};

但是,当我在select下拉菜单中选择一个选项时,没有任何变化。如何修复它,以便我的图表可以从newDataJS对象数组中加载数据

布鲁纳斯

首先,尝试通过load()和unload()方法加载数据,这是正确的方法(可以是json,url,行或列),例如以下示例:

chart.load({
  columns: [
    ['data1, 100, 200, 150, ...],
    ...
  ],
  unload: ['data2', 'data3']
});

请注意,此方法已被详细记录,应阅读:

链接到加载方法文档

要强制重绘,可以调用flush()方法:

chart.flush();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章