如何停止图表绘制图表?

时间:2014-05-20 06:58:36

标签: javascript graph

我正在使用AmCharts来构建折线图。我完成了所有功能。但是当用户点击按钮时,我需要停止绘制图表。由于它是基于实时的数据,我不知道如何开始。以下是我从中了解基于时间的实时数据的链接。正如您在此处所见,图表每秒都会被绘制。如果用户想要放大并分析图表数据,他就无法做到,因为数据每秒都在更新。我的问题是,当用户点击某个按钮时,让我们说“停止”,然后图形应该停止在视觉上进行绘图,但是对于每一秒数据应该继续在后台生成,即使它没有被绘制。当用户点击“继续”按钮时,它应该将从“停止”时间生成的所有数据发布到“继续”。请给我一个基本的想法,我该如何实现这个目标?

Fiddle: http://jsfiddle.net/amcharts/ATQUm

1 个答案:

答案 0 :(得分:0)

快速查看AmCharts API,我认为你应该根据布尔条件验证数据(调用validateData()方法):如果你需要或不重绘整个图形(点击停止/继续按钮时条件更新) )。

来自AmCharts API

validateData() - 应在数据提供程序中的数据更改或将新数组设置为dataProvider之后调用此方法。调用此方法后,图表将解析数据并重新绘制。

更新了小提琴here

示例代码:

<强> HTML

<input id="stopBtn" type="button" value="Stop"/>
<input id="continueBtn" type="button" value="Continue"/>

<强> JS

var needsDrawing = true,
    stopBtn = document.getElementById('stopBtn'),
    continueBtn = document.getElementById('continueBtn');

stopBtn.addEventListener('click', function(e) {
    needsDrawing = false;
});

continueBtn.addEventListener('click', function(e) {
    needsDrawing = true;
});