ChartJS 2.0动画

时间:2016-08-04 11:18:59

标签: javascript animation charts chart.js

当我尝试构建时间轴图表(折线图+时间选项)时,我使用ChartJS 2.2.1遇到了问题。

方法1:错误的动画

我每隔5秒从服务器请求新值(格式为[时间,值]),我只想在屏幕上显示10个点,因此,当新数据进入时,我:

  • 从图表中删除最旧的点
  • 添加新点

这里的问题是动画 - 图表没有向左移动 - 它只是在同一个地方重绘。

方法2:完全不好

我的解决方案是让这种情况发生转变'动画是将数据添加到图表,移动最小和最大时间值以在屏幕上仅保留10个值(不删除它):

    line_chart.chart.config.data.datasets[0].data.push({x: moment.utc(time).toDate(), y: value});
    line_chart.update();

    line_chart.config.options.scales.xAxes[0].time.min = line_chart.chart.config.data.datasets[0].data[line_chart.chart.config.data.datasets[0].data.length - onscreen_points].x;
    line_chart.config.options.scales.xAxes[0].time.max = moment.utc(time).toDate();

我认为这不是最好的主意,我已经遇到过这种方法的麻烦。
这是其他任何解决方案吗?

P.S。在ChartJS 1.0中,这个'转移'动画适用于第一种方法。

0 个答案:

没有答案