宪章线图动画从底部开始

时间:2018-05-22 21:33:52

标签: javascript jquery charts chartist.js

我使用Chartist.js生成折线图,效果很好,但我注意到默认情况下线条动画从图表底部开始的某个高度开始:

enter image description here

如何修改我的代码以从图表底部开始行动画,如下所示:

enter image description here

这是我的代码:

function graph(month,shop,sale){
    var data = {         
      labels: month,          
      series: [sale,shop]
    };

    var options = {
      fullWidth:true,
      height: 380, 
      showPoint: true,
      low: 0,
      showArea: true,
      lineSmooth: false,
      plugins: [
          Chartist.plugins.legend({
              legendNames: ['Sale', 'Shop'],
          })
      ]
    };

   var chart = new Chartist.Line('.ct-chart', data, options);

    chart.on('draw', function(data) {
      if(data.type === 'point') {
        var circle = new Chartist.Svg('circle', {
          cx: [data.x], cy:[data.y], r:[5],
        }, 'ct-circle');
        data.element.replace(circle);
      }
    });

    chart.on('draw', function(data) {
      if(data.type === 'line' || data.type === 'area') {
        data.element.animate({
          d: {
            begin: 1000 * data.index,
            dur: 1000,
            from: data.path.clone().scale(1, 0).translate(0, data.chartRect.height()).stringify(),
            to: data.path.clone().stringify(),
            easing: Chartist.Svg.Easing.easeOutQuint
          }
        });
      }
    });      
}

var data = {         
   labels: ['Enero', 'Febrero', 'Marzo','Abril','Mayo','Junio']
};

var options = {
  fullWidth:true,
  height: 380
};

new Chartist.Line('.ct-chart', data, options);

$(document).ready(function(){
  $.ajax({
      url: "myfile.php",
      type: "GET",
      dataType: "json",
      success: function(resp)
      {
        var month = resp[0];
        var shop = resp[1];
        var sale = resp[2];  

        graph(month,shop,sale);
      }
  });
});

我想要一些帮助。

1 个答案:

答案 0 :(得分:0)

如果您使用Google开发人员工具检查元素,则会发现图表中的“ ct-series ct-series-b”类具有特定的高度,不会一直下​​降。如果随后在图表绘制时更改动画,例如:

from: data.path.clone().scale(1, 0).translate(0, data.chartRect.height() + 15).stringify(),

该线将从ct系列b的高度+ 15px一直延伸到圆点。

希望对您有帮助,狮子座。