查找动画条形图库或组件



我有兴趣制作一个随时间变化的条形图(理想情况下,条形图会平滑地上下移动,以显示数据随时间的变化)。我没想到这会很困难,但也许由于我的搜索方式,我找不到一个预构建的组件或库来完成这项工作。我遇到过其他显示数据随时间变化的动画图(比如https://developers.google.com/chart/interactive/docs/gallery/motionchart和http://www.highcharts.com/demo/dynamic-update)但没有什么能像我在条形图中描述的那样。如果我能找到一个随时间平稳变化的折线图或饼图,这也会起作用,但如果可能的话,我宁愿制作一个条形图来做这件事。

像这样的应用程序、组件或库是否存在(如果存在,你能给我指明正确的方向吗?)?如果出于某种原因,没有这样的东西可用,那么最接近它的东西是什么(生成这个图表需要最少的努力的路径是什么)?

ZingChart应该能够为您做到这一点,而且它非常易于使用。图表配置是使用JSON对象定义的。在绘图对象内部,动画对象可以包含许多不同的动画选项,包括效果、速度、延迟和顺序。更多关于ZingChart动画效果的信息可以在这里找到。调用render方法是为了告诉ZingChart在哪里使用div的唯一ID来渲染图表。在这个例子中,我配置了一个每3000毫秒调用一次的函数,生成一个0到100之间的随机数字数组,并使用setseriesvalues方法更改plotindex 0处的数据。

var oData = {
  "type": "bar",
  "scaleY": {
    "values": "0:100:10"
  },
  "plot": {
    "animation": {
      "effect": "ANIMATION_SLIDE_BOTTOM"
    }
  },
  "series": [{
    "values": [69, 68, 54, 48, 70, 74, 98, 70, 72, 68, 49, 69]
  }]
};
zingchart.render({
  id: 'myChartDiv',
  width: 600,
  height: 400,
  data: oData
});
setInterval(function() {
  var aValues = [];
  for (var n = 0; n < 12; n++) {
    var num = Math.random() * (100 - 0) + 0;
    aValues.push(num);
  }
  console.log(aValues);
  zingchart.exec('myChartDiv', 'setseriesvalues', {
    plotindex: 0,
    values: aValues
  });
}, 3000);
<script src="http://cdn.zingchart.com/zingchart.min.js"></script>
<div id="myChartDiv"></div>

完整免责声明:我是ZingChart团队的一员,但如果还有什么我可以帮助你的,我很乐意帮助你!

最新更新