📅  最后修改于: 2023-12-03 14:41:35.553000             🧑  作者: Mango
Google Chart 是一款功能强大的免费 JavaScript 库,可以让你轻松创建交互性图表和数据可视化。它支持各种数据源,包括本地数据、CSV、JSON、Google Spreadsheets 等。
本文将介绍如何通过 AJAX 和 JSON 动态渲染 Google Chart 图表。
在页面中添加一个空的 div,这将是我们将要绘制图表的地方。
<!DOCTYPE html>
<html>
<head>
<title>Google Chart Ajax JSON - Javascript</title>
<script 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() {
// 在这里创建图表
}
</script>
</head>
<body>
<div id="chart_div"></div>
</body>
</html>
在这个例子中,我们将使用一个 data.json
文件作为数据源。
{
"cols": [
{"label":"Month", "type":"string"},
{"label":"Sales", "type":"number"}
],
"rows": [
{"c":[{"v":"Jan"}, {"v":20}]},
{"c":[{"v":"Feb"}, {"v":50}]},
{"c":[{"v":"Mar"}, {"v":10}]},
{"c":[{"v":"Apr"}, {"v":80}]},
{"c":[{"v":"May"}, {"v":30}]},
{"c":[{"v":"Jun"}, {"v":60}]}
]
}
在 drawChart
函数中,使用 AJAX 加载 data.json
文件:
function drawChart() {
var jsonData = $.ajax({
url: "data.json",
dataType: "json",
async: false
}).responseText;
}
解析 JSON 数据并将其转换为 Google Chart 数据表的格式。
function drawChart() {
var jsonData = $.ajax({
url: "data.json",
dataType: "json",
async: false
}).responseText;
var data = new google.visualization.DataTable(jsonData);
}
使用 Google Chart API 创建一个图表。
function drawChart() {
var jsonData = $.ajax({
url: "data.json",
dataType: "json",
async: false
}).responseText;
var data = new google.visualization.DataTable(jsonData);
var options = {
title: 'Monthly Sales',
legend: { position: 'bottom' }
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
打开 HTML 页面,你会看到一个美丽的图表。
我们学习了如何通过 AJAX 和 JSON 动态渲染 Google Chart 图表。这是一个非常实用的技巧,你可以很容易地将其与任何后端语言集成,以获取实时数据并更新图表。
由于涉及到异步加载数据,所以要注意在使用 JavaScript 或 jQuery 的时候,要注意避免回调函数中的变量作用域问题。
完整代码示例:Google Chart Ajax JSON - Javascript