Вы можете использовать диаграмму с накоплением областей, с цветом нижнего стека, установленным на прозрачный.
см. Следующий рабочий фрагмент,
здесь, я рисую линию, затем использую представление данных, чтобы нарисовать область вокруг нее.
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var data = google.visualization.arrayToDataTable([
['x', 'y'],
[1, 115],
[2, 116],
[3, 117],
[4, 118],
[5, 119],
[6, 125],
[7, 135],
[8, 145],
[9, 142],
[10, 140],
[11, 136],
[12, 128],
[13, 120],
[14, 118],
[15, 117],
[16, 116],
[17, 112],
[18, 110],
[19, 110],
[20, 109],
]);
var view = new google.visualization.DataView(data);
view.setColumns([0, 1, {
calc: function (dt, row) {
return dt.getValue(row, 1) - 60;
},
type: 'number',
label: 'bottom'
}, {
calc: function (dt, row) {
return dt.getValue(row, 1);
},
type: 'number',
label: 'top'
}]);
var options = {
colors: ['blue', 'transparent', 'blue'],
lineWidth: 0,
height: 400,
isStacked: true,
series: {
0: {
lineWidth: 1,
pointSize: 4,
type: 'line'
},
1: {
enableInteractivity: false,
visibleInLegend: false
},
2: {
enableInteractivity: false,
visibleInLegend: false
}
}
};
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(view, options);
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>