主题
切换数据
在 Chart.js 中,可以通过编程方式动态更新图表的数据,实现如“日/周/月”、“不同维度”等视图切换。通过操作 chart.data 并调用 chart.update() 方法,即可实时刷新图表。结合按钮或下拉菜单等控件,可以让用户在前端自由切换数据视图。
js
(function () {
const ctx = document.getElementById("switchChart").getContext("2d");
const chartData = {
week: [12, 19, 3, 5, 2, 3, 7],
month: [60, 75, 82, 90, 76, 88, 95],
};
const myChart = new Chart(ctx, {
type: "bar",
data: {
labels: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"],
datasets: [
{
label: "访问量",
data: chartData.week,
backgroundColor: "rgba(54, 162, 235, 0.7)",
},
],
},
options: {
responsive: true,
plugins: {
legend: { display: true },
},
},
});
document.getElementById("btnWeek").addEventListener("click", () => {
myChart.data.datasets[0].data = chartData.week;
myChart.update();
});
document.getElementById("btnMonth").addEventListener("click", () => {
myChart.data.datasets[0].data = chartData.month;
myChart.update();
});
})();示例无法以 iframe 加载(请检查路径或将 demo 放到 public/)。