Chart.js 雷达图学习笔记

什么是雷达图?

雷达图又称为蜘蛛网图、星形图,是一种用于显示多元变量数据的图表类型。雷达图中的每个轴代表一个数据维度,每个角度代表一个数据点。通过将这些点连接到一起可以形成一个多边形,多边形的形状和大小可以反映数据之间的关系。

如何使用Chart.js创建雷达图?

Chart.js是一个强大的JavaScript图表库,可以用于创建各种类型的图表,包括雷达图。下面是使用Chart.js创建雷达图的示例代码。

htmlCopy Code
<!DOCTYPE html> <html> <head> <title>Chart.js Radar Chart Example</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: 'radar', data: { labels: ['Math', 'Science', 'English', 'History', 'Art'], datasets: [{ label: 'Performance', data: [85, 70, 90, 80, 65], backgroundColor: 'rgba(255, 99, 132, 0.2)', borderColor: 'rgba(255, 99, 132, 1)', borderWidth: 1 }] }, options: { scale: { ticks: { beginAtZero: true, max: 100 } } } }); </script> </body> </html>

上述代码将创建一个包含一个雷达图的HTML页面。labels属性定义了每个数据维度的名称,datasets属性定义了数据集的内容,包括数据点的值、背景颜色和边框颜色等。options属性用于设置图表的一些选项,例如刻度范围。

示例

以下是一个更详细的示例,展示如何在Chart.js中创建一个具有多个数据集和自定义样式的雷达图。

htmlCopy Code
<!DOCTYPE html> <html> <head> <title>Chart.js Radar Chart Example</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: 'radar', data: { labels: ['Math', 'Science', 'English', 'History', 'Art'], datasets: [{ label: 'Performance1', data: [85, 70, 90, 80, 65], backgroundColor: 'rgba(255, 99, 132, 0.2)', borderColor: 'rgba(255, 99, 132, 1)', borderWidth: 1 }, { label: 'Performance2', data: [60, 75, 70, 90, 80], backgroundColor: 'rgba(54, 162, 235, 0.2)', borderColor: 'rgba(54, 162, 235, 1)', borderWidth: 1 }, { label: 'Performance3', data: [70, 80, 75, 85, 95], backgroundColor: 'rgba(255, 206, 86, 0.2)', borderColor: 'rgba(255, 206, 86, 1)', borderWidth: 1 }] }, options: { scale: { ticks: { beginAtZero: true, max: 100 }, pointLabels: { fontSize: 14, fontColor: '#666666' } }, legend: { display: true, labels: { fontColor: '#333333', fontSize: 16 } }, title: { display: true, text: 'Student Performance', fontColor: '#333333', fontSize: 20 } } }); </script> </body> </html>

上述代码将创建一个包含多个数据集和自定义样式的雷达图。datasets属性包含了三个数据集,每个数据集代表了一组学生的成绩数据。通过设置不同的颜色和标签,可以轻松区分数据集之间的差异。另外,通过调整刻度范围、标签字体大小和颜色等,可以使图表更加美观。