在 Google 图表中从第一个点到最后一个点画一条线
Drawing a line from the first point to last point in Google Charts
我使用 Google 图表 API 构建了此图表。
我想从第一个点到最后一个点画一条线以获得(手工制作的)以下。
我怎样才能做到这一点?
谢谢!
这可以通过向数据添加另一列或系列来实现 table。
数据加载完成后,
将另一列添加到新系列的数据 table 中。
data.addColumn('number', 'y1');
然后我们可以将第一行和最后一行的值设置为与第一个系列相同的值。
data.setValue(0, 2, data.getValue(0, 1));
data.setValue(data.getNumberOfRows() - 1, 2, data.getValue(data.getNumberOfRows() - 1, 1));
为了在两点之间画一条实际的线,
我们需要设置以下选项...
var options = {
interpolateNulls: true
};
这将使线连接两点。
请参阅以下工作片段...
google.charts.load('current', {
packages:['corechart']
}).then(function () {
var data = new google.visualization.DataTable();
data.addColumn('number', 'x');
data.addColumn('number', 'y0');
data.addRows([
[0, 0], [1, 10], [2, 23], [3, 17], [4, 18], [5, 9],
[6, 11], [7, 27], [8, 33], [9, 40], [10, 32], [11, 35],
[12, 30], [13, 40], [14, 42], [15, 47], [16, 44], [17, 48],
[18, 52], [19, 54], [20, 42], [21, 55], [22, 56], [23, 57],
[24, 60], [25, 50], [26, 52], [27, 51], [28, 49], [29, 53],
[30, 55], [31, 60], [32, 61], [33, 59], [34, 62], [35, 65],
[36, 62], [37, 58], [38, 55], [39, 61], [40, 64], [41, 65],
[42, 63], [43, 66], [44, 67], [45, 69], [46, 69], [47, 70],
[48, 72], [49, 68], [50, 66], [51, 65], [52, 67], [53, 70],
[54, 71], [55, 72], [56, 73], [57, 75], [58, 70], [59, 68],
[60, 64], [61, 60], [62, 65], [63, 67], [64, 68], [65, 69],
[66, 70], [67, 72], [68, 75], [69, 80]
]);
data.addColumn('number', 'y1');
data.setValue(0, 2, data.getValue(0, 1));
data.setValue(data.getNumberOfRows() - 1, 2, data.getValue(data.getNumberOfRows() - 1, 1));
var options = {
interpolateNulls: true
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
我使用 Google 图表 API 构建了此图表。
我想从第一个点到最后一个点画一条线以获得(手工制作的)以下。
我怎样才能做到这一点?
谢谢!
这可以通过向数据添加另一列或系列来实现 table。
数据加载完成后,
将另一列添加到新系列的数据 table 中。
data.addColumn('number', 'y1');
然后我们可以将第一行和最后一行的值设置为与第一个系列相同的值。
data.setValue(0, 2, data.getValue(0, 1));
data.setValue(data.getNumberOfRows() - 1, 2, data.getValue(data.getNumberOfRows() - 1, 1));
为了在两点之间画一条实际的线,
我们需要设置以下选项...
var options = {
interpolateNulls: true
};
这将使线连接两点。
请参阅以下工作片段...
google.charts.load('current', {
packages:['corechart']
}).then(function () {
var data = new google.visualization.DataTable();
data.addColumn('number', 'x');
data.addColumn('number', 'y0');
data.addRows([
[0, 0], [1, 10], [2, 23], [3, 17], [4, 18], [5, 9],
[6, 11], [7, 27], [8, 33], [9, 40], [10, 32], [11, 35],
[12, 30], [13, 40], [14, 42], [15, 47], [16, 44], [17, 48],
[18, 52], [19, 54], [20, 42], [21, 55], [22, 56], [23, 57],
[24, 60], [25, 50], [26, 52], [27, 51], [28, 49], [29, 53],
[30, 55], [31, 60], [32, 61], [33, 59], [34, 62], [35, 65],
[36, 62], [37, 58], [38, 55], [39, 61], [40, 64], [41, 65],
[42, 63], [43, 66], [44, 67], [45, 69], [46, 69], [47, 70],
[48, 72], [49, 68], [50, 66], [51, 65], [52, 67], [53, 70],
[54, 71], [55, 72], [56, 73], [57, 75], [58, 70], [59, 68],
[60, 64], [61, 60], [62, 65], [63, 67], [64, 68], [65, 69],
[66, 70], [67, 72], [68, 75], [69, 80]
]);
data.addColumn('number', 'y1');
data.setValue(0, 2, data.getValue(0, 1));
data.setValue(data.getNumberOfRows() - 1, 2, data.getValue(data.getNumberOfRows() - 1, 1));
var options = {
interpolateNulls: true
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>