Code mẫu JavaScript tạo biểu đồ với số lượng lớn điểm dữ liệu

CanvasJS JavaScript Charts được thiết kế cho High Performance, cho phép bạn trình bày/cập nhật số lượng lớn dữ liệu trong vài mili giây mà không gặp bất kỳ sự cố giật lag nào. CanvasJS được xây dựng bằng HTML5 Canvas & có hiệu suất tốt hơn gấp 10 lần các biểu đồ SVG truyền thống.

Ví dụ bên dưới cho bạn thấy một biểu đồ đầy đủ tính năng cùng với mã nguồn HTML/JavaScript mà bạn có thể chỉnh sửa trong trình duyệt hoặc lưu về máy để chạy nội bộ.

Code mẫu biểu đồ JavaScript

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

var limit = 50000;
var y = 100;    
var data = [];
var dataSeries = { type: "line" };
var dataPoints = [];
for (var i = 0; i < limit; i += 1) {
	y += Math.round(Math.random() * 10 - 5);
	dataPoints.push({
		x: i,
		y: y
	});
}
dataSeries.dataPoints = dataPoints;
data.push(dataSeries);

//Tốt hơn là xây dựng các tùy chọn trước rồi chuyển nó dưới dạng tham số
var options = {
	zoomEnabled: true,
	animationEnabled: true,
	title: {
		text: "Thử Zoom - Panning"
	},
	axisY: {
		lineThickness: 1
	},
	data: data  // dữ liệu ngẫu nhiên
};

var chart = new CanvasJS.Chart("chartContainer", options);
var startTime = new Date();
chart.render();
var endTime = new Date();
document.getElementById("timeToRender").innerHTML = "Time to Render: " + (endTime - startTime) + "ms";

}
</script>
<style>
	#timeToRender {
		position:absolute; 
		top: 10px; 
		font-size: 20px; 
		font-weight: bold; 
		background-color: #d85757;
		padding: 0px 4px;
		color: #ffffff;
	}
</style>
</head>
<body>
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
<span id="timeToRender"></span>
<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ể nâng cao hiệu suất của biểu đồ trong khi làm việc với các tập hợp dữ liệu “khổng lồ” bằng cách thiết liệp markerSize sang 0 trong biểu đồ đường thẳng (line) hoặc theo vùng (area). Một số tùy chỉnh liên quan khác bao gồm thanh công cụ markerType - kiểu đánh dấu, lineThickness - độ dày đường nét, zoomEnabled - Cho phép thu phóng…

Trên đây là code mẫu biểu đồ JavaScript với hiệu suất hiển thị khối dữ liệu lớn nhanh chóng. Hi vọng bài viết hữu ích với các bạn.

Thứ Ba, 03/01/2023 16:49
51 👨 217
0 Bình luận
Sắp xếp theo
    ❖ JavaScript