📊
图表工具大全
移动端数据可视化组件库 · v1.0
纯原生 JavaScript 手写 SVG 图表引擎,不依赖 ECharts / Chart.js / jQuery 等任何第三方库, 压缩后核心引擎仅十余 KB。所有业务数据统一从 data/*.json 读取,替换 JSON 即可复用到你自己的项目。
📦 目录结构
r111/
├── index.html      数据看板首页
├── gallery.html    图表库总览
├── line.html       折线 / 曲线 / 阶梯
├── area.html       面积 / 堆叠 / 百分比
├── bar.html        柱状 / 条形 / 堆叠
├── pie.html        饼图 / 环形 / 玫瑰
├── scatter.html    散点 / 气泡
├── radar.html      雷达 / 仪表盘
├── funnel.html     漏斗 / 日历热力
├── data.html       数据源浏览
├── about.html      使用文档
├── chart.js        SVG 图表引擎
├── app.js          公共运行时 / 数据加载
├── style.css       全站样式
└── data/
    ├── index.json      数据集索引
    ├── sales.json      月度销售额
    ├── visits.json     一周访问量
    ├── ... 共 10 份数据
    └── fallback.js     离线兜底副本
🚀 三步接入
1
引入两个文件

在页面底部依次引入 chart.js 与 app.js,前者提供 CH 命名空间,后者提供 DS 数据加载器。

2
准备数据 JSON

按 数据源页 中的 5 种结构任选其一,放到 data/ 目录并在 index.json 登记。

3
一行代码出图

拿到数据后调用对应绘制函数,容器宽度自适应,无需指定尺寸。

DS.get('sales').then(function (d) {
  CH.line(document.getElementById('box'), {
    cats: d.cats,
    series: d.series,
    mode: 'smooth',   // line | smooth | step
    area: true,
    unit: d.unit,
    h: 240
  });
});
🧩 API 速查CH.*
方法关键参数用途
CH.linecats / series / mode / area / stack / percent折线 曲线 阶梯 面积
CH.barcats / series / stack / horizontal柱状 条形 堆叠
CH.pieitems / inner / rose饼图 环形 玫瑰
CH.scatterseries / bubble / xName / yName散点 气泡
CH.radarindicators / series多维能力对比
CH.gaugevalue / max / color单指标达成率
CH.funnelitems转化漏斗
CH.heatvalues / weeks / days / start日历热力
CH.minikind / color卡片缩略图
CH.legendseries / onToggle可点击图例
✨ 特性一览
17 种图表类型纯 SVG 手绘 零第三方依赖JSON 数据驱动 图例点击切换系列触摸 Tooltip 入场动画自适应宽度 离线可运行深色文本无障碍对比
❓ 常见问题
Q
双击打开页面图表空白?

file:// 协议下浏览器会拦截 fetch,本项目已自动回落 data/fallback.js。若仍空白,请用任意静态服务器打开,例如 python -m http.server。

Q
如何换成自己的数据?

保持 JSON 字段结构不变,替换 data/ 下同名文件即可,页面无需改动一行代码。

Q
能接入后端接口吗?

可以。修改 app.js 中 DS.get 的 url 拼接规则,指向你的 API 即可,返回体保持同样结构。

Q
支持哪些浏览器?

iOS Safari 11+ / Android Chrome 60+ / 微信内置浏览器,均已实测通过。

📄 版权说明

本源码由驰旭教育整理发布,仅供学习交流与二次开发参考使用。可自由用于个人项目与商业项目,但请勿直接转售源码本身。

项目编号r111
技术栈原生 HTML + CSS + JavaScript
页面数量11 个独立页面
发布站点chixujiaoyu.com