Code JavaScript tạo biểu đồ/đồ thị động

Ví dụ bên dưới minh họa một mẫu biểu đồ động (dynamic chart) được tạo bằng JavaScript. Code mẫu JavaScript này minh họa một mẫu biểu đồ được update dữ liệu trực tiếp.

Biểu đồ cột, giống như bất kỳ biểu đồ khác trong CanvasJS, hỗ trợ update dữ liệu tại thời gian thực. Biểu đồ động dạng cột này cũng tương tự như thế nhưng bạn sẽ thấy các cột dữ liệu biến thiên trực tiếp.

Sau đây là mẫu biểu đồ cột dạng động về sự thay đổi nhiệt độ của các nồi hơi khác nhau. Bài viết cũng cung cấp mã nguồn JavaScript/HTML cho bạn chỉnh sửa trong trình duyệt hoặc lưu về máy để chạy nội bộ.

Mẫu biểu đồ động được tạo bằng JavaScript

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

var chart = new CanvasJS.Chart("chartContainer", {
	title: {
		text: "Nhiệt độ của từng nồi hơi"
	},
	axisY: {
		title: "Nhiệt độ (°C)",
		includeZero: true,
		suffix: " °C"
	},
	data: [{
		type: "column",	
		yValueFormatString: "#,### °C",
		indexLabel: "{y}",
		dataPoints: [
			{ label: "boiler1", y: 206 },
			{ label: "boiler2", y: 163 },
			{ label: "boiler3", y: 154 },
			{ label: "boiler4", y: 176 },
			{ label: "boiler5", y: 184 },
			{ label: "boiler6", y: 122 }
		]
	}]
});

function updateChart() {
	var boilerColor, deltaY, yVal;
	var dps = chart.options.data[0].dataPoints;
	for (var i = 0; i < dps.length; i++) {
		deltaY = Math.round(2 + Math.random() *(-2-2));
		yVal = deltaY + dps[i].y > 0 ? dps[i].y + deltaY : 0;
		boilerColor = yVal > 200 ? "#FF2500" : yVal >= 170 ? "#FF6000" : yVal < 170 ? "#6B8E23 " : null;
		dps[i] = {label: "Boiler "+(i+1) , y: yVal, color: boilerColor};
	}
	chart.options.data[0].dataPoints = dps; 
	chart.render();
};
updateChart();

setInterval(function() {updateChart()}, 500);

}
</script>
</head>
<body>
<div id="chartContainer" style="height: 300px;"></div>
<script src="https://cdn.canvasjs.com/canvasjs.min.js"></script>
</body>
</html>

Nguồn: CanvasJS

Tùy biến biểu đồ

Bạn có thể thay đổi màu sắc của cột bằng thuộc tính color. Những lựa chọn tùy biến khác bao gồm fillOpacity (độ mờ khi điền dữ liệu), indexLabel (nhãn chỉ mục),…

Thứ Ba, 06/06/2023 11:50
52 👨 479
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖
    ❖ JavaScript
    Chia sẻ
    Chia sẻ FacebookChia sẻ Twitter
    Đóng