viz-universal
把任意行业的明细数据(Excel / CSV / JSON / SQLite / URL)转成一个 单文件 HTML 看板:脱敏、可选密码加密(默认免密)、完全离线、手机/电脑可用,并通过 声明式 viz-schema 让不同行业用一份配置即可适配,无需改代码。
跨行业通用可视化 · 图表 + 真实中国地图(省→市→区钻取)+ 人物画像 · 脱敏 + 加密 · 全图点击联动
💬 觉得好用?👉 去 SkillHub 给个好评,感谢支持!
✨ 特性
- 11+ 图表类型:KPI / 月度走势 / 维度排行 / 转化漏斗 / 矩阵热力 / 流向桑基 / 多维雷达 / 目标仪表盘 / 层级树图 / 关系拓扑 / 留存矩阵
- 真实中国地图:合规边界(DataV GeoJSON,离线无 key)+ 金额颜色深浅 + 省→市→区逐级钻取 + 双向联动筛选
- 脱敏分级:L0–L3(原样 / 姓名掩码 / 编号化 / 编号+代号+金额缩放)
- 密码加密:SHA256-KDF(12 万次迭代)+ CTR 流加密,
file://双击即用,纯 JS 解密 - 声明式 schema:行业差异 = 一个 JSON,7 个行业开箱即用(generic / sales / education / retail / clinic / logistics / b2b),新增行业零改引擎
- 10 套视觉主题:apple-glass / stripe / vercel / linear / bloomberg / notion / neubrutalism / tokyo-night / nordic / cyberpunk
- 单文件交付:内嵌图表库,双击打开,断网可用;可部署任意静态托管
🚀 快速上手
# 方式一:可编辑安装(推荐,保留 assets/references 数据目录引用)
pip install -e .
viz-anonymize -i 数据.xlsx -o data_masked.json --level L2 --industry education
viz-build -i data_masked.json -o 看板.html -p 你的密码 --industry education
# 方式二:直接跑脚本(无需安装,任意平台)
python scripts/anonymize.py -i 数据.xlsx -o data_masked.json --level L2
python scripts/build_dashboard.py -i data_masked.json -o 看板.html --no-lock
# 方式三:stdin 管道(JSON 从标准输入读入,-i -)
cat data.json | python scripts/anonymize.py -i - -o data_masked.json --level L2
注:普通
pip install .(非 editable)会把 scripts 拷贝到 site-packages,而 assets/references 数据目录在仓库根,运行时需要VIZ_UNIVERSAL_HOME指向仓库根;推荐始终用pip install -e .或直接运行脚本。
免密码直开用 --no-lock(数据仍脱敏);查看全部主题:viz-build --list-themes。
🚀 3 分钟起步(新手必读)
第一步 · 装(二选一,推荐直接跑脚本,零安装)
pip install -e . # 方式 A:可编辑安装(保留 assets/references 引用)
# 或方式 B:直接跑 scripts/*.py,无需安装,任意平台
第二步 · 一分钟看到效果
python scripts/build_dashboard.py --doctor # ① 环境自检(依赖/脚本/assets/网络)
python scripts/anonymize.py -i 数据.xlsx -o data_masked.json --level L2 --industry education # ② 脱敏
python scripts/build_dashboard.py -i data_masked.json -o 看板.html --industry education # ③ 生成看板
想立刻看到效果?用本仓库
examples/case_study.md的 7 行业端到端实战(教培/医疗/零售/B2B/通用/数据库直连/实时大屏),每条都有完整命令模板与自动洞察。
第三步 · 看:双击 看板.html → 点图表联动筛选 → 点中国地图省→市→区钻取 → 右上角切换 10 套主题。
进阶(再花 2 分钟)
# 智能经营分析报告:文字为主 + 5 张 SVG 图 + 决策简报 + 业务定制建议(真实数字)
python scripts/build_dashboard.py -i data_masked.json -o 看板.html --report 报告.html --industry education
# 加密 + 分级权限:老板全量视图 / 访客聚合视图
python scripts/build_dashboard.py -i data_masked.json -o 看板.html -p 老板密码 --viewer-password 访客密码
# 数据健康自查:科目数 / 模板词残留 / 月度完整性(--health 才显示)
python scripts/build_dashboard.py -i data_masked.json -o 看板.html --health
# 手机/网页分享:重命名为 index.html 放独立目录 → CloudStudio 部署
看板内时间对比(环比 / 同比 / 任意月对比,v0.9.21+)
- 单月:点顶部月份按钮 → 只看当月;
- 环比:点「环比」= 一键对比「本月 vs 上月」,KPI 同步显示最新月环比 ↑/↓%;
- 同比:点「同比」= 一键对比「本月 vs 去年同月」;数据仅单一年份时按钮自动隐藏;同比下再点月份可换月;
- 任意多期:Ctrl/Shift 点月份多选对比;灰显月份 = 无跨年同月数据,不可选。
遇到问题? 42 题结构化 FAQ + 错误码对照表(E001–E012)在 references/FAQ.md;--doctor 一键检查环境;报错都带 E0xx 码和解决建议。
📑 TL;DR 跳转表(不想一次读完全部文档)
| 想了解 | 去哪看 | |---|---| | 配置不同行业(schema) | SKILL.md §声明式 viz-schema · example.json | | 全部面板 / 图表配置 | SKILL.md §看板功能 | | 脱敏级别 / 加密 / 安全边界 | SKILL.md §安全边界 | | 智能经营分析报告(--report) | SKILL.md §输出规范与交付 | | 问题排查 | references/FAQ.md | | 10 套主题 | references/THEMES.md | | 架构 | docs/ARCHITECTURE.md |
📖 文档
| 文档 | 说明 | |---|---| | SKILL.md | 完整使用指南(三步流程 / 参数表 / 9 类图配置说明 / 安全边界) | | references/FAQ.md | 常见问题与故障排查 | | references/THEMES.md | 10 套主题清单与新增主题方法 | | references/schema/example.json | 最全 schema 示例(含全部可选面板) | | docs/ARCHITECTURE.md | 架构设计 | | CHANGELOG.md | 变更记录 |
🧪 回归测试
python test_all_industries.py # 7 行业端到端:脱敏→加密→node 真解密→泄漏检查
python test_all_industries.py --keep # 保留产物便于检查
退出码 0 = 全通过。
🛡 安全边界
- HTML 只存密码校验串,不存密码本身;密钥派生 12 万次迭代。
- 这是"防偷看"级,非金融级;真正机密勿外发。
mapping.json(编号↔真名对照表)本地留存,绝不随看板发出。- 对外版脚注提示"请勿转发截图至外部渠道"。
📐 适用边界
适合
- 任意行业明细数据(销售/医疗/教育/金融/外贸/物流…),Excel/CSV/JSON/SQLite/URL 都行
- 数据量 ≤ 5 万行 体验最佳(10 万+行请用
--sample N采样) - 给老板/客户做一次性可视化汇报(单文件、双击即用、加密可控)
不适合(用其它工具更合适)
- 实时行情/盘口类(证券 K 线等)→ 用 Wind / 同花顺 / 东方财富等专业行情工具
- 金融级机密(涉及数千万/合规审查)→ 建议内网部署 + 专业加密方案,本工具仅"防偷看"级
- 多页 SPA/路由型 BI 应用 → 用 Power BI / Tableau / FineBI / 网易有数等
- 大数据量(百万级)实时分析 → 用 ClickHouse / 离线数仓 + 专业 BI
数据太大的处理
# 随机采样 5000 行(固定种子可复现)
viz-build -i 巨表.json -o 看板.html --sample 5000
注:当前
--sample匿名阶段采样(完整看板在数据子集上生成,看脱敏程度仍按 L0–L3 设置)。
零配置全功能试用(不含 schema 时也能出 12 面板):
viz-build -i data_masked.json -o 看板.html --schema references/schema/example.json
Scan to join WeChat group