Skip to content

Latest commit

 

History

History
246 lines (219 loc) · 6.39 KB

File metadata and controls

246 lines (219 loc) · 6.39 KB

AI 智能图表生成神器(json2chart)

作者: lfenghx 版本: 1.2.0 类型: tool

描述

json2chart 是一个智能的 JSON 数据可视化工具,能够将 JSON 格式的数据自动转换为多种类型的交互式图表。该工具采用 LLM 智能分析技术,自动识别数据结构并推荐最佳可视化方案。 alt text

视频教程:https://www.bilibili.com/video/BV1qj1CB8Enz

核心功能

智能数据分析与字段识别

  • 自动检测 JSON 数据中的类别字段和数值字段
  • 通过大模型智能分析数据结构,推荐最佳图表类型
  • 支持自动生成合适的图表标题和数据系列名称
  • 提供字段检测失败时的自动后备机制

多种图表类型支持

  • 饼状图:适合展示比例分布数据
  • 柱状图:适合比较不同类别的数值大小
  • 折线图:适合展示数据随时间或其他连续变量的变化趋势
  • 雷达图:适合多维度数据对比分析(至少需要 3 个数值字段)
  • 漏斗图:适合展示流程转化率数据
  • 散点图:适合分析两个数值指标间的相关性

高级特性

  • 数据分组支持:可按指定字段分组展示多系列图表
  • 自定义配色方案:支持调整图表颜色的饱和度和亮度
  • 数据类型智能转换:自动尝试将相关字段转换为适合的数值类型
  • 自动错误处理:提供友好的错误提示和异常处理机制
  • 多种数据格式支持:接受 JSON 对象数组或 JSON 字符串格式

技术特点

  • 基于 ECharts 生成交互式图表配置
  • 集成大模型分析能力,提升图表生成的智能性
  • 使用 pandas 进行数据处理和分析
  • 采用模块化设计,各图表类型独立实现,便于扩展
  • 支持流式输出图表配置结果

典型应用场景

  • 数据分析报告自动可视化
  • 业务指标监控面板生成
  • 统计数据快速展示
  • 数据探索和模式发现
  • API 响应数据的即时可视化

输入格式

一维数据 [ { "设备编号": "CNC1", "效率": 76.0 }, { "设备编号": "CNC2", "效率": 77.0 } ] alt text 二维数据 [ { "姓名": "张三", "月份": "1 月", "迟到次数": 2, "迟到总时间": 5 }, { "姓名": "张三", "月份": "2 月", "迟到次数": 3, "迟到总时间": 7 } ] alt text

三维数据 [ { "姓名": "张三", "迟到次数": 14, "旷工天数": 15, "早退次数": 1 }, { "姓名": "李四", "迟到次数": 2, "旷工天数": 14, "早退次数": 3 } ] alt text

多维度折线数据 [ {"成绩月份": "2024-09", "课程编号": "002", "成绩": 80.0}, {"成绩月份": "2024-09", "课程编号": "003", "成绩": 83.0}, {"成绩月份": "2024-09", "课程编号": "004", "成绩": 83.0}, {"成绩月份": "2024-09", "课程编号": "006", "成绩": 75.0}, {"成绩月份": "2024-09", "课程编号": "008", "成绩": 68.0}, {"成绩月份": "2024-09", "课程编号": "010", "成绩": 80.0}, {"成绩月份": "2024-09", "课程编号": "013", "成绩": 40.0}, {"成绩月份": "2024-09", "课程编号": "103", "成绩": 89.0}, {"成绩月份": "2024-10", "课程编号": "002", "成绩": 83.0}, {"成绩月份": "2024-10", "课程编号": "003", "成绩": 94.0}, {"成绩月份": "2024-10", "课程编号": "004", "成绩": 80.5}, {"成绩月份": "2024-10", "课程编号": "006", "成绩": 77.0}, {"成绩月份": "2024-10", "课程编号": "008", "成绩": 70.0}, {"成绩月份": "2024-10", "课程编号": "010", "成绩": 81.0}, {"成绩月份": "2024-10", "课程编号": "013", "成绩": 37.0}, {"成绩月份": "2024-10", "课程编号": "103", "成绩": 89.0}, {"成绩月份": "2024-11", "课程编号": "002", "成绩": 93.5}, {"成绩月份": "2024-11", "课程编号": "003", "成绩": 89.0}, {"成绩月份": "2024-11", "课程编号": "004", "成绩": 87.0}, {"成绩月份": "2024-11", "课程编号": "006", "成绩": 80.0}, {"成绩月份": "2024-11", "课程编号": "008", "成绩": 72.0}, {"成绩月份": "2024-11", "课程编号": "010", "成绩": 81.0}, {"成绩月份": "2024-11", "课程编号": "013", "成绩": 32.0}, {"成绩月份": "2024-11", "课程编号": "103", "成绩": 89.0}, {"成绩月份": "2024-12", "课程编号": "002", "成绩": 80.0}, {"成绩月份": "2024-12", "课程编号": "006", "成绩": 85.0}, {"成绩月份": "2025-01", "课程编号": "002", "成绩": 94.0}, {"成绩月份": "2025-01", "课程编号": "003", "成绩": 88.0}, {"成绩月份": "2025-01", "课程编号": "004", "成绩": 95.0}, {"成绩月份": "2025-01", "课程编号": "010", "成绩": 82.0}, {"成绩月份": "2025-01", "课程编号": "013", "成绩": 31.0}, {"成绩月份": "2025-01", "课程编号": "103", "成绩": 89.0} ] alt text

雷达图 [ { "产品": "产品 A", "质量": 85, "价格": 90, "服务": 75, "创新": 95, "知名度": 80 }, { "产品": "产品 B", "质量": 92, "价格": 83, "服务": 88, "创新": 85, "知名度": 90 }, { "产品": "产品 C", "质量": 78, "价格": 95, "服务": 82, "创新": 70, "知名度": 75 } ] alt text

漏斗图 [ { "阶段": "浏览产品", "用户数": 10000 }, { "阶段": "加入购物车", "用户数": 5000 }, { "阶段": "提交订单", "用户数": 3000 }, { "阶段": "完成支付", "用户数": 2000 }, { "阶段": "确认收货", "用户数": 1800 } ] alt text

散点图 [ { "产品名称": "智能手机 A", "价格(元)": 5999, "月销量(台)": 12000, "品牌": "品牌 X" }, { "产品名称": "智能手机 B", "价格(元)": 4599, "月销量(台)": 18000, "品牌": "品牌 X" }, { "产品名称": "智能手机 C", "价格(元)": 3999, "月销量(台)": 25000, "品牌": "品牌 Y" }, { "产品名称": "智能手机 D", "价格(元)": 2999, "月销量(台)": 32000, "品牌": "品牌 Y" }, { "产品名称": "智能手机 E", "价格(元)": 1999, "月销量(台)": 45000, "品牌": "品牌 Z" }, { "产品名称": "智能手机 F", "价格(元)": 6999, "月销量(台)": 8000, "品牌": "品牌 X" } ] alt text

输出格式

工具输出标准的 ECharts 配置字符串,可直接在支持 ECharts 的环境中渲染出交互式图表。

插件 github 仓库地址:https://github.com/lfenghx/json2chart

联系作者

邮箱:550916599@qq.com vx:lfeng2529230 github:lfenghx