我的数据如下:
A B
3 5000
2 6218
4 9435
我需要创建一个图表,其中A是点数/块大小,B是每个点的值。
例如,上述日期将创建一个折线图,其中前两个点的值为5000,接下来的两个点的值为6218,接下来的四个点的值为9435。 / p>
我需要的图形将看起来像将自动为该数据生成的图形:
5000
5000
5000
6218
6218
9435
9435
9435
9435
答案 0 :(得分:0)
使用原始数据表来构建新数据表。
对于原始表中的每一行,将行添加到新表中,无论'A'
代表多少次。
var x = 0;
for (var row = 0; row < rawData.getNumberOfRows(); row++) {
for (var a = 0; a < rawData.getValue(row, 0); a++) {
chartData.addRow([x, rawData.getValue(row, 1)]);
x++;
}
}
请参阅以下工作片段...
google.charts.load('current', {
packages:['corechart']
}).then(function () {
var rawData = google.visualization.arrayToDataTable([
['A', 'B'],
[3, 5000],
[2, 6218],
[4, 9435]
]);
var chartData = new google.visualization.DataTable();
chartData.addColumn('number', 'X');
chartData.addColumn('number', 'Y');
var x = 0;
for (var row = 0; row < rawData.getNumberOfRows(); row++) {
for (var a = 0; a < rawData.getValue(row, 0); a++) {
chartData.addRow([x, rawData.getValue(row, 1)]);
x++;
}
}
var container = document.getElementById('chart_div');
var chart = new google.visualization.LineChart(container);
chart.draw(chartData, {
height: 288,
pointSize: 4,
vAxis: {
minValue: 0
}
});
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>