Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 分别设置数据集的动画_Javascript_Jquery_Animation_Chart.js_Chart.js2 - Fatal编程技术网

Javascript 分别设置数据集的动画

Javascript 分别设置数据集的动画,javascript,jquery,animation,chart.js,chart.js2,Javascript,Jquery,Animation,Chart.js,Chart.js2,我试图在一个折线图中显示两个数据集,但在第一个数据集之后的几秒钟内设置第二个数据集的动画 我使用的是CHART.JS版本2.6.0,我看到了很多使用以前版本(1.xx)的示例,但是它们在这个新版本中都不起作用,因为API已经更改 我尝试了文档(),但对于新手来说,它真的很差,因为动画事件文档只有一个基本示例 我想做的基本上是: var ctx = document.getElementById("myChart").getContext("2d"); var data = { labels

我试图在一个折线图中显示两个数据集,但在第一个数据集之后的几秒钟内设置第二个数据集的动画

我使用的是CHART.JS版本2.6.0,我看到了很多使用以前版本(1.xx)的示例,但是它们在这个新版本中都不起作用,因为API已经更改

我尝试了文档(),但对于新手来说,它真的很差,因为动画事件文档只有一个基本示例

我想做的基本上是:

var ctx = document.getElementById("myChart").getContext("2d");

var data = {
  labels: ["January", "February", "March", "April", "May", "June", "July"],
  datasets: [{
      label: "My First dataset",
      fillColor: "rgba(220,220,220,0.2)",
      data: [65, 0, 80, 81, 56, 85, 40]
    },
    {
      label: "My Second dataset",
      fillColor: "rgba(151,187,205,0.2)",
      data: [0, 0, 0, 0, 0, 0, 0]
    }
  ]
};

var data2 = [28, 48, 40, 19, 86, 27, 90];

var done = false;
var myLineChart = new Chart(ctx).Line(data, {
  animationEasing: 'linear',
  onAnimationComplete: function () {
    if (!done) {
      myLineChart.datasets[1].points.forEach(function (point, i) {
        point.value = data2[i];
      });
      myLineChart.update();
      done = true;
    }
  }
});
您可以看到此代码正在运行,但此示例在版本2.6中不起作用,即使将其修改为新语法

那么,您能帮助我使用Chart.JS 2.6实现同样的效果吗

提前谢谢

ChartJSV2.6的解决方案
var done=false;
VarData2=[28,48,40,19,86,27,90];
var ctx=document.getElementById(“myChart”).getContext(“2d”);
var myLineChart=新图表(ctx{
键入:“行”,
数据:{
标签:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”],
数据集:[{
标签:“我的第一个数据集”,
背景色:“rgba(2200,0.2)”,
边框颜色:“rgba(220220,1)”,
pointBackgroundColor:“rgba(2201)”,
pointBorderColor:#fff“,
pointHoverBackgroundColor:#fff“,
pointHoverBorderColor:“rgba(2201)”,
数据:[65,0,80,81,56,85,40]
}, {
标签:“我的第二个数据集”,
背景色:“rgba(151187205,0.2)”,
边框颜色:“rgba(151187205,1)”,
pointBackgroundColor:“rgba(151187205,1)”,
pointBorderColor:#fff“,
pointHoverBackgroundColor:#fff“,
pointHoverBorderColor:“rgba(151187205,1)”,
数据:[0,0,0,0,0,0,0,0]
}]
},
选项:{
动画:{
“线性”,
未完成:功能(e,i){
如果(!完成){
this.data.datasets[1]。data=data2;
/*我们需要在setTimeout内更新图表,
因为在更新图表时似乎存在问题
第一次动画完成函数调用*/
setTimeout(函数(){
这个.update();
}.绑定(本),100);
完成=正确;
}
}
}
}
});