智能数据可视化技能
概述
本技能提供了一套完整的数据可视化解决方案,能够从多种数据源(Excel、CSV、JSON、图片、截图等)智能提取数据,自动分析数据特征,推荐并生成最合适的交互式图表。
适用场景
当用户需要以下任一功能时使用本技能:
- 从表格文件生成可视化图表(Excel、CSV、JSON、TXT)
- 从截图或图片中提取数据并生成图表
- 自动选择最佳图表类型(折线图、柱状图、饼图、散点图、热力图等)
- 数据趋势分析和预测
- 数据异常检测和预警
- 生成专业的数据报告
- 创建交互式仪表板
- 数据对比和多维度分析
核心功能
1. 数据源支持
1.1 表格文件
-
Excel文件(.xlsx, .xls)
- 自动识别Sheet页
- 支持多Sheet处理
- 智能识别表头位置
- 处理合并单元格
-
CSV文件(.csv)
- 自动识别编码(UTF-8、GBK等)
- 自动识别分隔符(逗号、分号、制表符)
- 处理引号包裹的数据
-
JSON文件(.json)
- 支持嵌套结构
- 自动展平数据
- 数组转表格
-
文本文件(.txt)
- 智能识别表格结构
- 支持固定宽度和分隔符格式
1.2 图片和截图
-
屏幕截图
- 直接粘贴截图
- 从剪贴板读取
- 自动识别表格区域
-
图片文件(.png, .jpg, .jpeg, .bmp, .tiff)
- OCR文字识别
- 表格结构识别
- 数字和日期提取
2. 智能数据分析
2.1 数据类型识别
- 自动识别数据列类型:
- 数值型(整数、浮点数)
- 日期时间型
- 分类/枚举型
- 文本型
- 布尔型
2.2 数据质量检查
- 缺失值检测
- 异常值识别(使用IQR或Z-score方法)
- 数据一致性检查
- 重复数据检测
2.3 统计分析
- 基础统计量(均值、中位数、标准差、最值)
- 分布分析
- 相关性分析
- 趋势分析(线性回归)
3. 智能图表推荐
根据数据特征自动推荐最佳图表类型:
| 数据特征 | 推荐图表 | 适用场景 | |---------|---------|---------| | 时间序列 + 数值 | 折线图 | 趋势展示、变化分析 | | 分类 + 数值 | 柱状图/条形图 | 对比分析、排名展示 | | 分类 + 数值(多维度) | 堆叠柱状图 | 组成分析、占比对比 | | 分类 + 数值(多个系列) | 分组柱状图 | 多系列对比 | | 分类 + 数值(占比) | 饼图/环形图 | 占比分析、构成分析 | | 数值 + 数值 | 散点图 | 相关性分析、分布展示 | | 三维数据(时间+分类+数值) | 热力图 | 多维度数据展示 | | 地理位置数据 | 地图可视化 | 区域分析、地理分布 | | 层级数据 | 树图/桑基图 | 层级结构、流向分析 | | 网络关系 | 网络图 | 关系分析、连接展示 |
4. 图表生成功能
4.1 图表类型
-
基础图表
- 折线图(Line Chart)
- 柱状图(Bar Chart)
- 条形图(Horizontal Bar Chart)
- 饼图(Pie Chart)
- 环形图(Donut Chart)
- 散点图(Scatter Plot)
- 气泡图(Bubble Chart)
-
高级图表
- 面积图(Area Chart)
- 堆叠柱状图(Stacked Bar Chart)
- 分组柱状图(Grouped Bar Chart)
- 箱线图(Box Plot)
- 小提琴图(Violin Plot)
- 热力图(Heatmap)
- 雷达图(Radar Chart)
-
专业图表
- 甘特图(Gantt Chart)
- 漏斗图(Funnel Chart)
- 桑基图(Sankey Diagram)
- 树图(Treemap)
- 词云图(Word Cloud)
- 旭日图(Sunburst Chart)
4.2 交互功能
- 图表缩放和平移
- 图例显示/隐藏
- 数据点悬停提示
- 数据筛选
- 图表切换
- 实时数据更新
- 导出功能(PNG、SVG、PDF)
5. 数据分析与预警
5.1 趋势分析
- 线性回归趋势线
- 移动平均线
- 季节性分解
- 趋势预测(基于历史数据)
5.2 异常检测
- 统计学方法(Z-score、IQR)
- 孤立森林(Isolation Forest)
- 基于规则的异常识别
- 异常标注和说明
5.3 预警系统
- 阈值预警
- 趋势预警(持续上升/下降)
- 波动预警(标准差过大)
- 自定义预警规则
6. 报告生成
6.1 HTML报告
- 交互式图表
- 多图表组合
- 响应式设计
- 美观的UI界面
6.2 Excel报告
- 多Sheet组织
- 数据和图表结合
- 可编辑格式
6.3 PDF报告
- 高质量导出
- 自定义布局
- 添加水印和logo
使用流程
阶段一:数据输入
用户提供数据,技能自动识别数据源类型:
场景1:表格文件
用户:帮我把这个Excel文件生成图表
技能:自动读取Excel文件,识别数据结构
场景2:截图/图片
用户:从这个截图生成图表
技能:OCR识别表格数据,提取数值信息
场景3:JSON数据
用户:我有JSON格式的时间序列数据,生成趋势图
技能:解析JSON,展平数据,生成时间序列图表
阶段二:数据分析
自动执行数据分析:
- 识别数据类型
- 检查数据质量
- 计算统计量
- 分析数据特征
- 推荐图表类型
阶段三:图表生成
根据分析结果:
- 选择最佳图表类型
- 设置合适的颜色和样式
- 添加图表元素(标题、图例、坐标轴)
- 生成交互式图表
- 提供数据分析说明
阶段四:报告输出
根据用户需求:
- 生成HTML报告(交互式)
- 生成Excel报告(可编辑)
- 生成PDF报告(正式文档)
- 导出图表图片
使用示例
示例1:Excel文件生成趋势图
用户输入:
我有一个包含月度销售数据的Excel文件(sales.xlsx),
帮我生成销售趋势图
技能处理:
- 读取Excel文件
- 识别"月份"列为时间序列
- 识别"销售额"列为数值型
- 推荐折线图
- 生成趋势图
- 添加趋势线和分析
输出:
- 交互式HTML报告
- 销售趋势折线图
- 月度对比分析
- 同比增长率
示例2:截图提取数据并生成对比图
用户输入:
[粘贴一张包含表格数据的截图]
帮我把这个表格数据可视化,对比各产品销量
技能处理:
- OCR识别截图中的表格
- 提取产品名称和销量数据
- 清洗和格式化数据
- 推荐柱状图进行对比
- 生成交互式图表
输出:
- 产品销量对比柱状图
- 销量排名
- 各产品占比分析
示例3:多维度数据分析
用户输入:
我有CSV格式的员工数据,包含部门、年龄、薪资、绩效,
我想看各部门的平均薪资和绩效分布
技能处理:
- 读取CSV文件
- 按部门分组
- 计算平均薪资
- 分析绩效分布
- 生成多个图表
输出:
- 部门平均薪资柱状图
- 部门绩效分布箱线图
- 薪资与绩效散点图
- 部门人数对比图
示例4:时间序列预测
用户输入:
我有过去12个月的库存数据JSON文件,
帮我生成趋势图并预测未来3个月
技能处理:
- 读取JSON数据
- 分析时间序列趋势
- 拟合预测模型
- 预测未来3个月
- 生成趋势图和预测曲线
输出:
- 历史库存趋势图
- 未来3个月预测曲线
- 趋势分析说明
- 库存预警建议
技术实现
数据处理
- Excel: openpyxl / pandas
- CSV: pandas
- JSON: json / pandas
- 图片OCR: pytesseract / easyocr
图表生成
- Plotly: 交互式图表
- ECharts: 高性能图表
- Matplotlib: 基础图表
数据分析
- NumPy: 数值计算
- SciPy: 统计分析
- Scikit-learn: 机器学习(异常检测、预测)
前端展示
- HTML/CSS/JavaScript: 交互界面
- Plotly.js: 图表渲染
- XLSX.js: Excel导出
配置选项
图表样式配置
chart_config = {
"theme": "modern", # modern, classic, dark
"color_scheme": "default", # default, pastel, vibrant, monochrome
"font_size": 12,
"show_grid": True,
"show_legend": True
}
预警阈值配置
alert_config = {
"threshold_high": 0.95,
"threshold_low": 0.05,
"trend_decline": -0.02,
"volatility_limit": 0.02
}
输出格式
1. HTML报告(推荐)
- 交互式图表
- 多图表组合
- 响应式设计
- 无需服务器,直接打开
2. Excel报告
- 多Sheet结构
- 数据+图表
- 可编辑
- 适合二次分析
3. 图片导出
- PNG/JPG格式
- 高清输出
- 适合插入文档
4. PDF报告
- 正式文档格式
- 自定义布局
- 添加封面和水印
使用要点
-
数据质量优先
- 确保数据准确完整
- 缺失值会影响分析结果
- 异常值需要人工确认
-
图表类型选择
- 技能会自动推荐最佳图表类型
- 用户可以根据需求调整
- 不同图表适合不同场景
-
交互功能利用
- 利用图表的交互功能深入分析
- 缩放、筛选、悬停查看详情
- 导出所需格式
-
报告定制
- 根据用途选择报告格式
- HTML适合演示和分享
- Excel适合进一步分析
- PDF适合正式文档
-
持续优化
- 根据反馈调整分析逻辑
- 优化图表样式
- 添加新的图表类型
可用资源
Scripts (scripts/)
data_parser.py: 数据解析脚本data_analyzer.py: 数据分析脚本chart_generator.py: 图表生成脚本report_generator.py: 报告生成脚本
使用方法参见各脚本文件内的文档说明。
References (references/)
chart_types.md: 图表类型说明data_analysis_rules.md: 数据分析规则report_templates.md: 报告模板说明
在需要详细说明时,读取相应的参考文档。
Assets (assets/)
templates/: 模板文件examples/: 示例数据
用于生成最终的报告输出。
实施建议
-
首次使用
- 从简单的表格数据开始
- 尝试不同的数据源
- 熟悉各种图表类型
-
定期使用
- 建立数据更新机制
- 定期生成分析报告
- 跟踪数据变化趋势
-
高级应用
- 自定义预警规则
- 创建自动化流程
- 集成到现有系统
-
团队协作
- 分享可视化报告
- 统一数据标准
- 建立最佳实践
总结
本技能提供了一套智能、易用、强大的数据可视化解决方案,支持多种数据源,自动分析数据特征,推荐最佳图表类型,生成交互式可视化报告。无论是简单的数据展示,还是复杂的多维度分析,都能轻松应对。
Scan to join WeChat group