如何在 Google 折线图中停止以特定值绘制系列

How can I stop a series from drawing at a certain value in Google Line Chart

是否有任何选项可以阻止在 Google 折线图中以特定值绘制系列?这是我现在得到的:

如果其余为 0,我希望红色系列停止进一步绘制系列。这可能吗?

有两个明显的问题
1。我将如何确定其余值是否为 0 和
2。如果不是 240 之后的所有值都是 0

怎么办

这就是我需要的:

但就我而言,这是显而易见的。在某一时刻,我总是会收到这个系列的其余部分作为 0。

如评论中所述,将零值转换为 null
这将防止绘制一条线。

确定最后的值为零,
从行尾向后循环,
在绘制图表之前。

一旦找到不等于零的值,
跳出循环。

// convert last zero values to null
for (var i = data.getNumberOfRows() - 1; i >= 0; i--) {
  if (data.getValue(i, 1) === 0) {
    data.setValue(i, 1, null);
  } else {
    break;
  }
}

请参阅以下工作片段...

google.charts.load('current', {
  packages: ['corechart']
}).then(function () {
  var container = document.getElementById('chart');
  var chart = new google.visualization.LineChart(container);
  var data = google.visualization.arrayToDataTable([
    ['X', 'Y'],
    [new Date(2019, 3, 1), 113],
    [new Date(2019, 4, 1), 145],
    [new Date(2019, 5, 1), 165],
    [new Date(2019, 6, 1), 187],
    [new Date(2019, 7, 1), 214],
    [new Date(2019, 8, 1), 240],
    [new Date(2019, 9, 1), 0],
    [new Date(2019, 10, 1), 0],
    [new Date(2019, 11, 1), 0]
  ]);

  // convert last zero values to null
  for (var i = data.getNumberOfRows() - 1; i >= 0; i--) {
    if (data.getValue(i, 1) === 0) {
      data.setValue(i, 1, null);
    } else {
      break;
    }
  }

  // get chart date range
  var dateRange = data.getColumnRange(0);

  chart.draw(data, {
    hAxis: {
      viewWindow: {
        min: dateRange.min,
        max: dateRange.max
      }
    }
  });
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart"></div>