动画与交互
Chart.js 支持丰富的动画效果和交互配置。你可以为图表加载设置动画,也可以定义动画完成的回调函数,实现更复杂的交互行为。同时,图表支持鼠标悬停、点击等事件响应,使用户能够与图表更好地交互。
(function () {
const ctx = document.getElementById("animationChart").getContext("2d");
new Chart(ctx, {
type: "line",
data: {
labels: ["一月", "二月", "三月", "四月", "五月"],
datasets: [
{
label: "销量趋势",
data: [10, 20, 15, 30, 25],
borderColor: "rgb(54, 162, 235)",
fill: false,
tension: 0.4,
},
],
},
options: {
responsive: true,
animation: {
duration: 2000,
easing: "easeInOutQuart",
onComplete: function () {
console.log("动画完成!");
},
},
interaction: {
mode: "nearest",
axis: "x",
intersect: false,
},
plugins: {
tooltip: {
enabled: true,
},
},
onClick: (event, elements) => {
if (elements.length) {
const index = elements[0].index;
alert(`点击了:${index + 1} 月`);
}
},
},
});
})();
源码
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Chart.js 动画与交互</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<style>
body {
max-width: 700px;
margin: 2rem auto;
background: #f9f9f9;
padding: 1rem;
font-family: sans-serif;
}
canvas {
background: #fff;
border: 1px solid #ccc;
display: block;
margin: 0 auto;
}
</style>
</head>
<body>
<canvas id="animationChart" width="700" height="400"></canvas>
<script>
(function () {
const ctx = document.getElementById(‘animationChart’).getContext(‘2d’);
new Chart(ctx, {
type: ‘line’,
data: {
labels: [‘一月’, ‘二月’, ‘三月’, ‘四月’, ‘五月’],
datasets: [{
label: ‘销量趋势’,
data: [10, 20, 15, 30, 25],
borderColor: ‘rgb(54, 162, 235)’,
fill: false,
tension: 0.4
}]
},
options: {
responsive: true,
animation: {
duration: 2000,
easing: ‘easeInOutQuart’,
onComplete: function () {
console.log(‘动画完成!’);
}
},
interaction: {
mode: ‘nearest’,
axis: ‘x’,
intersect: false
},
plugins: {
tooltip: {
enabled: true
}
},
onClick: (event, elements) => {
if (elements.length) {
const index = elements[0].index;
alert(点击了:${index + 1} 月);
}
}
}
});
})();
</script>
</body>
</html>
相关内容
- 什么是 Chart.js? Chart.js 是一个简单易用且功能强大的 JavaScript 图表库,支持多种常见图表类型,帮助开发者快速创建美观且响应式的数据可视化效果,适合初学者和专...
- 安装与引入 介绍如何在项目中安装和引入 Chart.js,包括通过 CDN 快速使用和通过 npm 安装到前端构建环境的多种方式,帮助快速搭建图表开发环境。
- 基本结构与初始化 讲解如何创建图表的基本结构与初始化流程,包括配置画布、准备数据和实例化图表的步骤,帮助快速搭建图表展示。
- 示例:折线图 通过示例讲解如何创建折线图,涵盖数据配置、样式设置和基本交互,帮助快速掌握折线图的绘制技巧。
- 折线图 Line 介绍如何使用 Chart.js 创建折线图,详细讲解数据配置、样式调整及交互功能,帮助快速制作趋势图表。
- 柱状图 Bar 介绍如何使用 Chart.js 创建柱状图,详细讲解数据配置、颜色设置及图表样式,帮助快速绘制直观的条形数据展示。