c3图表加载多个图表

5

我正在使用c3.js和c3.css在同一页上制作多个图表。我有多个图表,并希望每60秒更新一次数据,因此我使用setInterval获取更新的数据,然后将其加载到图表中,但是它将所有数据放在最近创建的图表中。我尝试添加一个绑定到数据的bindto,以便它进入正确的图表,但它仍然加载到底部的图表中。我该如何解决这个问题?

...
<div id='chart1'></div>
<div id='chart2'></div>
...
function update()//this function collects the new data in arrays cols and xrows
...
setInterval(function(){
  update();
  chart.unload();
  chart.load({bindto:'#chart1',columns:cols, xs:xrows});
},3000);

1
你还在寻找答案吗? - yuvi
你是如何做到的? - Shairyar
看起来他正在覆盖chart变量,所以它总是只更新最后一个图表。 - Sebastian Piu
2个回答

2
为了展示更新数据,请按以下步骤操作:
  • 隐藏先前数据的 DIV
  • 使用 CLEAR 清除数据
  • 再次加载 DIV

0
如果有人仍在寻找如何做到这一点,我已经找到了解决方案。
当您生成每个图表时,声明以以下方式结束:
}); }, chart = generate();

如果您这样重命名图表:

}); }, first_chart = generate();

然后你可以像这样操作那个图表:

first_chart.load ({ <some_stuff> })

给每个图表变量一个独特的名称,这样你就可以分别编辑它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接