C3图表加载回调

时间:2014-11-19 22:27:58

标签: javascript jquery html d3.js c3.js

我想使用某种回调函数,一旦C3 Graph完成加载就会运行一些代码,这样我就可以改变某些点的填充颜色。

3 个答案:

答案 0 :(得分:5)

不要在初始化中加载任何数据。而是显式调用load事件并传入数据。然后您可以访问done回调。

var chart = c3.generate({ /*...*/ });

chart.load({
  columns: [['data1, 100, 200, 150, ...],
    ...
  ],
  done: function() { /* whatever you need done here... */}
});

答案 1 :(得分:2)

以上对我不起作用,我使用了'onrendered'

onrendered: function () { ... }

参见此处:https://c3js.org/reference.html#onrendered

答案 2 :(得分:0)

尝试使用id在图表容器(通常是svg)上声明.attr("id", "GraphContainer")。 之后,您可以将.onload绑定到它。像这样:

var SVGCont = document.getElementById("GraphContainer");
SVGCont.onload = function() {
    // your code for when it's done loading
};

您还可以将事件用于何时将SVG元素添加到DOM:

$(document).bind("DOMNodeInserted", function(e) {
    // your code 
});