Code mẫu JavaScript tạo biểu đồ/đồ thị từ dữ liệu JSON bằng AJAX

Biểu đồ JavaScript có thể được vẽ bằng dữ liệu JSON API & AJAX. Nhìn chung, bạn nên tìm nạp dữ liệu qua truy vấn AJAX thay vì nhúng nó vào trong trang web. Bằng cách này, bạn có thể tách riêng UI từ Data.

Việc phân tích cú pháp dữ liệu JSON và tạo biểu đồ từ nó khá đơn giản. Bằng cách tương tự, bạn cũng có thể dùng XML hoặc CSV để nhập dữ liệu vào biểu đồ.

Ví dụ bên dưới trình bày cách phân tích dữ liệu JSON từ truy vấn AJAX và vẽ biểu đồ. Nó cũng bao gồm mã nguồn mà bạn có thể chỉnh sửa trong trình duyệt hoặc lưu để chạy nội bộ.

Code mẫu biểu đồ JavaScript

<!DOCTYPE HTML>
<html>
<head>
<script>
window.onload = function() {

var dataPoints = [];

var chart = new CanvasJS.Chart("chartContainer", {
	animationEnabled: true,
	theme: "light2",
	title: {
		text: "Doanh số bán hàng mỗi ngày"
	},
	axisY: {
		title: "Units - Số lượng",
		titleFontSize: 24,
		includeZero: true
	},
	data: [{
		type: "column",
		yValueFormatString: "#,### Units",
		dataPoints: dataPoints
	}]
});

function addData(data) {
	for (var i = 0; i < data.length; i++) {
		dataPoints.push({
			x: new Date(data[i].date),
			y: data[i].units
		});
	}
	chart.render();

}

$.getJSON("https://canvasjs.com/data/gallery/javascript/daily-sales-data.json", addData);

}
</script>
</head>
<body>
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
<script src="https://canvasjs.com/assets/script/jquery-1.11.1.min.js"></script>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
</body>
</html>

Nguồn: CanvasJS

Tùy biến biểu đồ

Bạn có thể dùng trục ngày tháng - thời gian bằng cách thiết lập timestamp (mốc thời gian hoặc ngày tháng cho giá trị x. Nếu dùng timestamp, nhớ đặt xValueType thành dateTime. Bạn cũng có thể đặt khoảng thời gian & loại khoảng thời gian cho các nhãn trục bằng cách dùng thuộc tính intervalintervalType tương ứng.

Thứ Sáu, 30/12/2022 16:52
51 👨 231
0 Bình luận
Sắp xếp theo
    ❖ JavaScript