我有下面的html,它可以很好地用Google Charts生成堆叠柱形图。我想用外部csv文件替换html中的静态数据,但无法让它工作。
静态示例(工作正常)
<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Day', 'Status A', 'Status B', 'Status C'],
['Monday', 10, 5, 3],
['Tuesday', 8, 2, 6],
['Wednesday', 6, 4, 10],
['Thursday', 12, 8, 4],
['Friday', 4, 12, 2],
['Saturday', 6, 4, 8],
['Sunday', 10, 6, 4]
]);
var options = {
title: 'Status Values by Day',
isStacked: true
};
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
</body>
</html>
我已经用下面的代码块替换了var数据块,以引用'data.csv'文件。
var data = new google.visualization.DataTable();
data.addColumn('string', 'Day');
data.addColumn('number', 'Status A');
data.addColumn('number', 'Status B');
data.addColumn('number', 'Status C');
data.load('data.csv', {'header': true, 'delimiter': ','});
'data.csv'文件的格式如下,我把它和html文件放在同一个文件夹中。
Day,Status A,Status B,Status C
Monday,10,5,3
Tuesday,8,2,6
Wednesday,6,4,10
Thursday,12,8,4
Friday,4,12,2
Saturday,6,4,8
Sunday,10,6,4
当我打开的html文件是空白的,我想知道我哪里出错了。提前感谢您的任何帮助或指针,你可以给予我。
1条答案
按热度按时间a6b3iqyw1#
首先,确保Google Charts被加载到HTML文档中。
然后使用Google Visualization API创建一个图表并定义一个回调函数:
图表将通过以下方式加载:
最后,在HTML中简单地创建一个图表的div。