Chart.js 环形图学习笔记

简介

Chart.js 是一个流行的 JavaScript 库,用于创建漂亮且交互式的图表,它支持多种类型的图表,包括线性图、柱状图、饼图和环形图等。其中,环形图是一种特殊的饼图,通常用于展示数据的比例关系。

环形图的基本结构

环形图由圆环和中央文本组成,圆环表示数据比例,中央文本表示数据描述。在 Chart.js 中,可以通过以下代码创建一个简单的环形图:

htmlCopy Code
<canvas id="myChart"></canvas>
javascriptCopy Code
var ctx = document.getElementById('myChart').getContext('2d'); var myChart = new Chart(ctx, { type: 'doughnut', data: { labels: ['Red', 'Blue', 'Yellow'], datasets: [{ label: '# of Votes', data: [12, 19, 3], backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)' ], borderColor: [ 'rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)' ], borderWidth: 1 }] }, options: { cutoutPercentage: 50, rotation: -0.85 * Math.PI, circumference: 1.7 * Math.PI } });

在上面的代码中,我们使用了 doughnut 类型来创建环形图。通常情况下,环形图的数据由多个部分组成,每一部分都有一个标签和一个数据值。这些标签和数据值被分别存储在 labelsdata 数组中。我们还可以利用 backgroundColorborderColor 选项为每一部分设置不同的颜色,并通过 borderWidth 属性指定边框宽度。

环形图的样式设置

Chart.js 提供了丰富的样式配置选项,可以用来调整环形图的颜色、大小、字体等。例如,我们可以使用 cutoutPercentage 选项指定圆环内部的空心比例,使用 rotationcircumference 属性调整圆环的位置和大小。此外,还可以使用 legend 选项控制图例的显示位置、字体大小和颜色等。

实例演示

下面是一个实例,展示了如何使用 Chart.js 创建一个简单的环形图:

htmlCopy Code
<!DOCTYPE html> <html> <head> <title>Chart.js 环形图学习笔记</title> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> </head> <body> <canvas id="myChart"></canvas> <script> var ctx = document.getElementById('myChart').getContext('2d'); var myChart = new Chart(ctx, { type: 'doughnut', data: { labels: ['Red', 'Blue', 'Yellow'], datasets: [{ label: '# of Votes', data: [12, 19, 3], backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)' ], borderColor: [ 'rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)' ], borderWidth: 1 }] }, options: { cutoutPercentage: 50, rotation: -0.85 * Math.PI, circumference: 1.7 * Math.PI } }); </script> </body> </html>

预览效果:

chartjs-doughnut-demo