如何删除动态CANVAS JS折线图中动态线与相应y轴之间的space

how to remove space between dynamic line in Dynamic CANVAS JS line chart and corresponding y-axis

我使用 canvasJS 创建了一个动态折线图 play/pause facility.However 图表中的线似乎没有流过 y 轴。有一些 space在行首和 y-axis.How 之间删除 space 以便在按下 PLAY 按钮时该行不断移动 flowing/moving。

<!DOCTYPE HTML>
<html>

<head>
  <script src="https://code.jquery.com/jquery-3.1.0.js" integrity="sha256-slogkvB1K3VOkzAI8QITxV3VzpOnkeNVsKvtkYLMjfk=" crossorigin="anonymous"></script>
  <script type="text/javascript" src="canvasjs.min.js"></script>
  <script type="text/javascript">
    var dataArray = [{
      x: 0,
      y: 0
    },{
      x: 1,
      y: 10
    }, {
      x: 2,
      y: 13
    }, {
      x: 3,
      y: 18
    }, {
      x: 4,
      y: 20
    }, {
      x: 5,
      y: 17
    }, {
      x: 6,
      y: 10
    }, {
      x: 7,
      y: 13
    }, {
      x: 8,
      y: 18
    }, {
      x: 9,
      y: 20
    }, {
      x: 10,
      y: 17
    }, {
      x: 11,
      y: 13
    }, {
      x: 12,
      y: 18
    }, {
      x: 13,
      y: 20
    }, {
      x: 14,
      y: 17
    }, {
      x: 15,
      y: 10
    }, {
      x: 17,
      y: 13
    }, {
      x: 18,
      y: 18
    }, {
      x: 19,
      y: 20
    }, {
      x: 20,
      y: 100
    }];

    function plot(dataArray,windowFrame,chartTitle,xAxisTitle,yAxisTitle) {
      var dps=[];
      for(var a=0;a<windowFrame;a++)
      {
        dps[a]=dataArray[a];
      }

      var chart = new CanvasJS.Chart("chartContainer", {
        title: {
          text: chartTitle
        },
        axisX: {
          title: xAxisTitle
        },
        axisY: {
          title: yAxisTitle
        },
        data: [{
          type: "line",
          dataPoints: dps
        }]
      });

      chart.render();
      $(".canvasjs-chart-credit").empty();



      var updateInterval = 1000;
      var flag = true;
      var interval;

      var updateChart = function() {

       if(a<dataArray.length)
       {
        dps.push({
          x: dataArray[a].x,
          y: dataArray[a].y
        });
        a++;


        if (dps.length > windowFrame+1) {
          dps.shift();
        }
       }


        chart.render();

        // update chart after specified time. 

      };
      $('#playPause').click(function() {

        if (flag) {
          $(this).html('Pause');
          interval = setInterval(function() {
            updateChart()
          }, updateInterval);
        } else {
          $(this).html('Play');
          clearInterval(interval);
        }
        flag = !flag;
      });

    }
  </script>
</head>

<body>
  <button id="Plot" onclick="plot(dataArray,5,'Chart Title','x-axisTitle','y-axis Title')">Plot</button>
  <div id="chartContainer" style="height: 600px; width: 500px;">
  </div>
  <button id="playPause">Play/ Pause</button>
</body>

</html>

要删除 axisY 和线之间的 space,您可以 set/update viewportMinimum 到起始 x 值。这是更新的代码片段。

  var dataArray = [{
      x: 0,
      y: 0
    },{
      x: 1,
      y: 10
    }, {
      x: 2,
      y: 13
    }, {
      x: 3,
      y: 18
    }, {
      x: 4,
      y: 20
    }, {
      x: 5,
      y: 17
    }, {
      x: 6,
      y: 10
    }, {
      x: 7,
      y: 13
    }, {
      x: 8,
      y: 18
    }, {
      x: 9,
      y: 20
    }, {
      x: 10,
      y: 17
    }, {
      x: 11,
      y: 13
    }, {
      x: 12,
      y: 18
    }, {
      x: 13,
      y: 20
    }, {
      x: 14,
      y: 17
    }, {
      x: 15,
      y: 10
    }, {
      x: 17,
      y: 13
    }, {
      x: 18,
      y: 18
    }, {
      x: 19,
      y: 20
    }, {
      x: 20,
      y: 100
    }];
document.getElementById("Plot").onclick = function(){
 plot(dataArray,5,'Chart Title','x-axisTitle','y-axis Title')
}
    function plot(dataArray,windowFrame,chartTitle,xAxisTitle,yAxisTitle) {
      var dps=[];
      for(var a=0;a<windowFrame;a++)
      {
        dps[a]=dataArray[a];
      }

      var chart = new CanvasJS.Chart("chartContainer", {
        title: {
          text: chartTitle
        },
        axisX: {
          title: xAxisTitle,
          viewportMinimum: 0
        },
        axisY: {
          title: yAxisTitle
        },
        data: [{
          type: "line",
          dataPoints: dps
        }]
      });

      chart.render();
      $(".canvasjs-chart-credit").empty();



      var updateInterval = 1000;
      var flag = true;
      var interval;

      var updateChart = function() {

       if(a<dataArray.length)
       {
        dps.push({
          x: dataArray[a].x,
          y: dataArray[a].y
        });
        a++;


        if (dps.length > windowFrame+1) {
          dps.shift();
        }
       }

    chart.options.axisX.viewportMinimum = dps[0].x;
        chart.render();

        // update chart after specified time. 

      };
      $('#playPause').click(function() {

        if (flag) {
          $(this).html('Pause');
          interval = setInterval(function() {
            updateChart()
          }, updateInterval);
        } else {
          $(this).html('Play');
          clearInterval(interval);
        }
        flag = !flag;
      });

    }
<script src="http://canvasjs.com/assets/script/canvasjs.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="Plot" >Plot</button>
  <div id="chartContainer" style="height: 600px; width: 500px;">
  </div>
  <button id="playPause">Play/ Pause</button>