我正在尝试使用Google图表生成甘特图,并在使用现有的PHP代码进行相应编码后,我得到一个空白的HTML。请帮助我成功显示图表。
<html>
<head>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
// Load the Visualization API and the gantt chart package.
google.load("visualization", "1", {packages: ["timeline"]});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);
function drawChart() {
$.ajax({
url: "http://localhost:8080/index1.php",
dataType:"json",
async: false ,
success: function(data) {
jsonData = data;
}
});
// Create our data table out of JSON data loaded from server.
var data = new google.visualization.DataTable(jsonData);
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.Timeline(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div" style="width: 900px; height: 200px;></div>
</body>
</html>
答案 0 :(得分:5)
你错过了:&#34;关于div风格
<div id="chart_div" style="width: 900px; height: 200px;></div>
div
未定义,因此JS无法找到它。
getElementById
失败。
答案 1 :(得分:2)
我认为您有data
格式问题, 试试这个
/*
// assuming you are having data object in this format, with columns (first : string, second: integer)
data = [
['Mushrooms', 3],
['Onions', 1],
['Olives', 1],
['Zucchini', 1],
['Pepperoni', 2]
]
*/
// Load the Visualization API and the piechart package.
google.load('visualization', '1', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);
function get_gchart_data(data) {
var g_data = new google.visualization.DataTable();
g_data.addColumn('string', 'Topping');
g_data.addColumn('number', 'Slices');
g_data.addRows(data);
return g_data;
}
function drawChart() {
$.ajax({
url: "localhost:8080/index1.php",
dataType:"json",
async: false ,
success: function(data) {
var g_data = get_gchart_data(data);
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.Timeline(document.getElementById('chart_div'));
chart.draw(g_data, {width: 500, height: 240});
}
})
};
答案 2 :(得分:0)
试试这个,我想你是在错误的地方访问jsonData
。
<script type="text/javascript">
$(function() {
// Load the Visualization API and the piechart package.
google.load('visualization', '1', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);
function drawChart() {
$.ajax({
url: "localhost:8080/index1.php",
dataType:"json",
async: false ,
success: function(data) {
jsonData = data;
// Create our data table out of JSON data loaded from server.
var data = new google.visualization.DataTable(jsonData);
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.Timeline(document.getElementById('chart_div'));
chart.draw(data, {width: 500, height: 240});
}
})
};
});
</script>