Bạn có thể dễ dàng thay đổi chiều cao và rộng của cổ phễu trong biểu đồ này. Nếu thay đổi chiều cao và rộng sang 0 trong biểu đồ hình phễu sẽ khiến nó trở thành biểu đồ kim tự tháp.
Ví dụ bên dưới minh họa một mẫu biểu đồ hình phễu được tạo bằng JavaScript, có thể tùy biến chiều cao và rộng của phần cổ. Bài viết 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ộ.
<!DOCTYPE HTML>
<html>
<head>
<script>
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
title:{
text: "Phân tích tuyển dụng - 7/2016"
},
data: [{
type: "funnel",
indexLabel: "{label} - {y}",
toolTipContent: "<b>{label}</b>: {y} <b>({percentage}%)</b>",
neckWidth: 20,
neckHeight: 0,
valueRepresents: "area",
dataPoints: [
{ y: 3871, label: "Ứng tuyển" },
{ y: 2496, label: "Đã sàng lọc" },
{ y: 1398, label: "Đủ điều kiện" },
{ y: 1118, label: "Đã phỏng vấn" },
{ y: 201, label: "Thêm ưu đãi" },
{ y: 151, label: "Đã tuyển" }
]
}]
});
calculatePercentage();
chart.render();
function calculatePercentage() {
var dataPoint = chart.options.data[0].dataPoints;
var total = dataPoint[0].y;
for(var i = 0; i < dataPoint.length; i++) {
if(i == 0) {
chart.options.data[0].dataPoints[i].percentage = 100;
} else {
chart.options.data[0].dataPoints[i].percentage = ((dataPoint[i].y / total) * 100).toFixed(2);
}
}
}
}
</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 đồ
Chiều rộng và cao của phần thấp hơn trong biểu đồ hình phễu, ví dụ, cổ có thể được chỉnh sửa bằng thuộc tính neckHeight
và neckWidth
có sẵn ở cấp chuỗi dữ liệu. Bạn cũng có thể đảo ngược phễu bằng thuộc tính reversed
. Những lựa chọn tùy chỉnh thường được dùng khác là legend
, valueRepresents
…
Source: https://quantrimang.com/hoc/code-javascript-tao-bieu-do-hinh-pheu-co-the-tuy-chinh-kich-thuoc-196143