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 16:49
51 👨 249
0 Bình luận
Sắp xếp theo
    ❖ JavaScript