gpt4 book ai didi

javascript - 图表不会在 `onchange` 函数中重绘

转载 作者:行者123 更新时间:2023-11-29 20:51:27 24 4
gpt4 key购买 nike

我已经建立了一个 HTML 页面,其中包含 C3 支持的图表。当页面加载时,图表会从 CSV 文件加载数据。我的页面上还有一个 select 元素。当用户更改 select 中的 option 时,我希望图表重新加载新数据。

基本上,这是我的代码。

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 下拉列表中选择一个选项时,没有任何变化。我该如何修复它,以便我的图表从 JS 对象的 newData 数组加载数据?

最佳答案

首先尝试通过 load() 和 unload() 方法加载数据,这是正确的做法(可以是 json、url、行或列),就像这个例子:

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

请注意,此方法有大量文档记录,应阅读:

Link to load method documentation

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

chart.flush();

关于javascript - 图表不会在 `onchange` 函数中重绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51677553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com