Biểu đồ Doughnut tương tự như biểu đồ hình tròn, ngoại trừ việc nó có tâm trống. Biểu đồ Donut hữu ích khi bạn muốn so sánh trực quan tỷ lệ của từng thành phần trong tổng số. Biểu đồ Doughnut đẹp, cho phép người dùng tương tác, có thể tương thích chéo trình duyệt, hỗ trợ hoạt ảnh và xuất dưới dạng ảnh, đồng thời, cập nhật dữ liệu tại thời gian thực.
Ví dụ bên dưới minh họa một mẫu biểu đồ/đồ thị Doughnut được tạo bằng JavaScript. Bài viết bao gồm code mẫu biểu đồ cho bạn chỉnh sửa và sử dụng trong dự án cá nhân.
<!DOCTYPE HTML>
<html>
<head>
<script>
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
title:{
text: "Danh mục email",
horizontalAlign: "left"
},
data: [{
type: "doughnut",
startAngle: 60,
//innerRadius: 60,
indexLabelFontSize: 17,
indexLabel: "{label} - #percent%",
toolTipContent: "<b>{label}:</b> {y} (#percent%)",
dataPoints: [
{ y: 67, label: "Hòm thư đến" },
{ y: 28, label: "Lưu trữ" },
{ y: 10, label: "Nhãn" },
{ y: 7, label: "Nháp"},
{ y: 15, label: "Thùng rác"},
{ y: 6, label: "Spam"}
]
}]
});
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 đồ
Thiết lập thuộc tính exploded
cho một số điểm dữ liệu, khiến chúng trở nên nổi bật. Bạn cũng có thể tùy biến thuộc tính innerRadius
hoặc radius
. Một số lựa chọn khác bao gồm explodeOnClick
, startAngle
, indexLabelPlacement
…
Source: https://quantrimang.com/hoc/code-javascript-tao-mau-bieu-do-do-thi-doughnut-195953