访问不同功能的图表

时间:2015-07-29 22:32:03

标签: javascript html chart.js

我正在使用chart.js

渲染图表

是否可以通过画布对象访问不同功能的图表?如果单击某个按钮,我想更新它。

谢谢!

1 个答案:

答案 0 :(得分:2)

对于像这样初始化的图表

var myNewChart = new Chart(ctx).Line(data);

myNewChart.chart.canvas是你的画布对象。请注意,您必须处理工具提示显示/删除,动画(初始绘制,如果启用)和图表调整大小时发生的重绘。

虽然您也可以使用document.getElementById("myId")使用document.getElementById("myId").getContext("2d")和上下文访问画布,但您无法访问图表函数,例如.update(),. addData()等..为此你需要图表实例。

由于每个可用的图表实例也存储在Chart.instances中(因为Chart是全局的),你可以这样做

for (instance in Chart.instances) { 
    if (Chart.instances[instance].chart.canvas === document.getElementById("myId")) {
        console.log("found my chart instance")
        console.log(Chart.instances[instance])
    }
}

获取图表实例。