尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

chartjs-plugin-zoom完全指南:5个步骤让你的Chart.js图表拥有专业级缩放平移交互

chartjs-plugin-zoom完全指南:5个步骤让你的Chart.js图表拥有专业级缩放平移交互 chartjs-plugin-zoom完全指南5个步骤让你的Chart.js图表拥有专业级缩放平移交互【免费下载链接】chartjs-plugin-zoomZoom and pan plugin for Chart.js项目地址: https://gitcode.com/gh_mirrors/ch/chartjs-plugin-zoomchartjs-plugin-zoom 是 Chart.js 官方的缩放与平移Zoom and Pan插件只需几行配置就能让你的图表支持鼠标滚轮缩放、双指捏合缩放、拖拽框选放大和平移浏览。本指南面向新手5个步骤带你从零上手快速打造专业级数据可视化交互体验 1️⃣ 认识 chartjs-plugin-zoom它能做什么在动手之前先了解这个 Chart.js 缩放插件提供的核心能力交互方式说明支持️ 滚轮缩放按住鼠标滚轮在图表上放大/缩小需wheel.enabled: true 双指捏合移动端/触控板双指缩放需pinch.enabled: true 拖拽框选按住鼠标框选一个区域图表放大到该区域需drag.enabled: true✋ 拖拽平移按住图表拖动浏览数据的其他部分需pan.enabled: true插件基于 Hammer.js 手势库识别手势支持线性轴、类别轴、对数轴、时间轴等几乎所有 Chart.js 坐标轴类型核心实现可查看 src/plugin.ts 与 src/handlers.ts。上图使用拖拽框选缩放drag-to-zoom后图表自动聚焦到选中的数据区域2️⃣ 安装与注册最快配置方法使用 npm 一条命令安装Chart.js 需 ≥ 3.0.0npm install chartjs-plugin-zoom然后在项目入口注册插件之后所有图表配置中的plugins.zoom选项都会自动生效import { Chart } from chart.js; import zoomPlugin from chartjs-plugin-zoom; Chart.register(zoomPlugin); 如果使用script标签方式加载按顺序引入 chart.js、hammer.js、chartjs-plugin-zoom 三个文件即可详见 docs/guide/integration.md。3️⃣ 启用缩放滚轮 捏合只需 6 行配置在图表配置的options.plugins.zoom下开启wheel和pinch并指定缩放方向modex仅横向、y仅纵向、xy双向const config { type: line, data: { /* ...你的数据... */ }, options: { plugins: { zoom: { zoom: { wheel: { enabled: true }, // 启用滚轮缩放 pinch: { enabled: true }, // 启用双指缩放 mode: xy // 同时缩放 X/Y 轴 } } } } };完整示例见 docs/samples/wheel/time.md。上图缩放/平移后的时间序列图表坐标轴自动重算刻度数据清晰呈现4️⃣ 启用平移与拖拽框选让浏览更自由拖拽框选放大Drag to Zoom启用后用户按住鼠标框选一个矩形区域松手即放大到该区域。还能自定义选框颜色zoom: { mode: xy, drag: { enabled: true, backgroundColor: rgba(54, 162, 235, 0.3), borderColor: rgb(54, 162, 235), borderWidth: 1 } }上图拖拽框选缩放演示drawTime选项控制选框在图表生命周期的哪一层绘制拖拽平移Pan平移默认关闭且建议搭配modifierKey如ctrl使用避免与图例点击等交互冲突pan: { enabled: true, mode: xy, modifierKey: ctrl // 按住 Ctrl 才能平移 }上图开启平移后图表可沿类别轴自由滑动浏览5️⃣ 高级技巧限制范围、重置缩放与 API 调用用 limits 防止迷失通过limits可以为每个轴设置min/max/minRange最小可视范围即最大放大倍数保证用户永远不会拖到数据之外的空白区。甚至可以用original关键字表示初始显示时的边界完整说明见 docs/guide/options.mdlimits: { x: { min: original, max: original, minRange: 7 } // 最多放大到只显示7天 }一键重置缩放图表实例上直接调用chart.resetZoom()即可恢复初始视图非常适合绑定到重置按钮function resetZoom(chart) { chart.resetZoom(); }上图点击重置按钮后图表恢复初始范围命令式 API用代码驱动缩放除了用户手势还可以在代码中精确控制图表详见 docs/guide/developers.md方法用途chart.zoom(1.2)放大 1.2 倍chart.pan(50)沿轴平移 50 像素chart.zoomScale(x, {min, max})将 x 轴定位到指定范围chart.resetZoom()重置所有缩放和平移chart.getZoomLevel()获取当前缩放级别chart.isZoomedOrPanned()判断是否处于缩放/平移状态交互过程中还可以监听onZoom、onPanComplete等事件把当前可视范围同步到后端接口实现按需加载数据示例参考 docs/samples/fetch-data.md。上图数据更新后调用 resetZoom 重置视图的演示效果✨ 小结回顾一下这 5 个步骤认识插件滚轮、捏合、框选、平移四大交互安装注册npm installChart.register(zoomPlugin)启用缩放配置wheel和pinch启用平移与框选配置pan和drag进阶控制limits限制范围 resetZoom()重置 命令式 API现在打开 docs/samples/ 目录里面有 wheel、pan、drag 三类丰富示例覆盖 linear、time、log、category 等各种坐标轴照着抄就能用。让你的 Chart.js 图表立刻拥有媲美专业 BI 工具的交互体验吧 【免费下载链接】chartjs-plugin-zoomZoom and pan plugin for Chart.js项目地址: https://gitcode.com/gh_mirrors/ch/chartjs-plugin-zoom创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表