You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@echarts.apache.org by GitBox <gi...@apache.org> on 2018/05/15 10:00:42 UTC

[GitHub] kingecg opened a new issue #8344: timeseries动态更新数据时图像抖动

kingecg opened a new issue #8344: timeseries动态更新数据时图像抖动
URL: https://github.com/apache/incubator-echarts/issues/8344
 
 
   <!--
   为了方便我们能够复现和修复 bug,请遵从下面的规范描述您的问题。
   -->
   
   
   ### One-line summary [问题简述]
   当采用setInterval动态更新数据时,如果使用dataset或series.data是一个二维数组,图像会产生很明显的抖动。
   
   
   
   
   ### Version & Environment [版本及环境]
   + ECharts version [ECharts 版本]: 4.1.0
   + Browser version [浏览器类型和版本]: chrome  66.0.3359.139
   + OS Version [操作系统类型和版本]: Mac osx most recent version
   
   
   
   
   
   ### Expected behaviour [期望结果]
   如官方示例,timeseries曲线更新能够没有抖动
   http://echarts.baidu.com/examples/editor.html?c=dynamic-data2
   
   
   
   ### ECharts option [ECharts配置项]
   <!-- Copy and paste your 'echarts option' here. -->
   <!-- [下方贴你的option,注意不要删掉下方 ```javascript 和 尾部的 ``` 字样。最好是我们能够直接运行的 option。如何得到能运行的 option 参见上方的 guidelines for contributing] -->
   ```javascript
   function randomData() {
       now = new Date(+now + oneDay);
       value = value + Math.random() * 21 - 10;
       return  [
               now,
               Math.round(value)
           ]
       
   }
   
   var data = [];
   var now = +new Date(1997, 9, 3);
   var oneDay =  1000;
   var value = Math.random() * 1000;
   for (var i = 0; i < 1000; i++) {
       data.push(randomData());
   }
   
   option = {
       title: {
           text: '动态数据 + 时间坐标轴'
       },
       tooltip: {
           trigger: 'axis',
           formatter: function (params) {
               params = params[0];
               var date = new Date(params.name);
               return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear() + ' : ' + params.value[1];
           },
           axisPointer: {
               animation: false
           }
       },
       xAxis: {
           type: 'time',
           splitLine: {
               show: false
           }
       },
       yAxis: {
           type: 'value',
           boundaryGap: [0, '100%'],
           splitLine: {
               show: false
           }
       },
       series: [{
           name: '模拟数据',
           type: 'line',
           showSymbol: false,
           hoverAnimation: false,
           data: data
       }]
   };
   
   setInterval(function () {
   
       for (var i = 0; i < 5; i++) {
           data.shift();
           data.push(randomData());
       }
   
       myChart.setOption({
           series: [{
               data: data
           }]
       });
   }, 100);
   
   ```
   
   
   
   
   ### Other comments [其他信息]
   <!-- For example: Screenshot or Online demo -->
   <!-- [例如,截图或线上实例 (JSFiddle/JSBin/Codepen)] -->
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@echarts.apache.org
For additional commands, e-mail: dev-help@echarts.apache.org