如何在 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>
是否有任何选项可以阻止在 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>