Code JavaScript tạo biểu đồ thác nước đa chuỗi dữ liệu

Biểu đồ thác nước đa chuỗi dữ liệu hữu ích trong việc so sánh các tác động của việc tích lũy thay đổi với giá trị ban đầu của hai nguồn hoặc biến khác nhau. Các cột này được đặt cạnh nhau để dễ dàng so sánh.

Ví dụ bên dưới minh họa một mẫu biểu đồ thác nước với hai chuỗi dữ liệu được tạo bằng JavaScript. Nó cũng chứa mã nguồn 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ộ.

Mẫu biểu đồ JavaScript dạng thác nước

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

var chart = new CanvasJS.Chart("chartContainer", {
	theme: "light2", // "light1", "light2", "dark1", "dark2"
	animationEnabled: true,
	title:{
		text: "So sánh doanh số bán hàng của 2 nhân viên"
	},
	axisX: {
		interval: 1
	},
	axisY: {
		//prefix: "$",
		//suffix: "k",
      	valueFormatString: "$#,##0,.M"
	},
	toolTip: {
		shared: true
	},
	legend: {
		cursor: "pointer",
		itemclick: toggleDataSeries
	},
	data: [{
		type: "waterfall",
		yValueFormatString: "$#,##0,.00M",
		name: "Seller 1",
		showInLegend: true,
		indexLabelOrientation: "vertical",
		indexLabelFontColor: "black",
		dataPoints: [
			{ label: "Khởi đầu", y: 7645 },
			{ label: "Tháng 1", y: 3312 },
			{ label: "Tháng 2", y: 5065 },
			{ label: "Tháng 3", y: -2564 },
			{ label: "Tháng 4", y: 6004 },
			{ label: "Tháng 5", y: 5324 },
			{ label: "Tháng 6", y: -11543 },
			{ label: "Tháng 7", y: 3802 },
			{ label: "Tháng 8", y: 6673 },
			{ label: "Tháng 9", y: -5997 },
			{ label: "Tháng 10", y: 6654 },
			{ label: "Tháng 11", y: -4943 },
			{ label: "Tháng 12", y: 3324 },
			{ label: "Cuối cùng", isCumulativeSum: true, indexLabel: "{y}" }
		]
		},
		{
			type: "waterfall",
			yValueFormatString: "$#,##0,.00M",
			lineDashType: "solid",
			name: "Seller 2",
			showInLegend: true,
			indexLabelOrientation: "vertical",
			indexLabelFontColor: "black",
			dataPoints: [
				{ label: "Khởi đầu", y: 4634 },
				{ label: "Tháng 1", y: -2002 },
				{ label: "Tháng 2", y: 5095 },
				{ label: "Tháng 3", y: 2243 },
				{ label: "Tháng 4", y: 1984 },
				{ label: "Tháng 5", y: -6724 },
				{ label: "Tháng 6", y: 1901 },
				{ label: "Tháng 7", y: 3127 },
				{ label: "Tháng 8", y: 3324 },
				{ label: "Tháng 9", y: 2324 },
				{ label: "Tháng 10", y: -3574 },
				{ label: "Tháng 11", y: -1984 },
				{ label: "Tháng 12", y: 3594 },
				{ label: "Cuối cùng", isCumulativeSum: true, indexLabel: "{y}" }
			]
	}]
});
chart.render();

function toggleDataSeries(e) {
	if(typeof(e.dataSeries.visible) === "undefined" || e.dataSeries.visible) {
		e.dataSeries.visible = false;
	}
	else {
		e.dataSeries.visible = true;
	}
	chart.render();
}

}
</script>
</head>
<body>
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
<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ể chia sẻ tooltip dưới dạng biểu đồ thác nước đa chuỗi dữ liệu bằng cách đặt thuộc tính shared sang true. Điều này giúp người dùng dễ đọc biểu đồ hơn.

Cách lựa chọn chỉnh sửa khác bao gồm: showInLegend, risingColor, fallingColor, color, etc...

Thứ Năm, 09/03/2023 12:59
51 👨 287
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