CSV数据可视化器Skill csv-data-visualizer

CSV数据可视化器是一款专业的数据分析工具,专门用于处理CSV文件格式的数据集。该工具提供三大核心功能:1) 使用Plotly库创建交互式数据可视化图表,包括直方图、散点图、箱线图、热力图等;2) 自动数据剖析与质量分析,生成详细的统计报告;3) 多图表仪表板生成,支持自定义配置和自动布局。适用于数据分析、商业智能、数据探索、统计报告等场景,帮助用户快速理解数据分布、发现数据规律、识别异常值,并生成演示就绪的可视化成果。

数据可视化 0 次安装 1 次浏览 更新于 2/28/2026

name: csv-data-visualizer description: 该技能应用于处理CSV文件以创建交互式数据可视化、生成统计图表、分析数据分布、创建仪表板或执行自动数据剖析。它使用Plotly进行交互式可视化,为探索性数据分析提供全面工具。

CSV数据可视化器

概述

该技能为CSV文件提供全面的数据可视化和分析能力。它具备三大核心功能:(1) 使用Plotly创建独立的交互式可视化图表,(2) 自动数据剖析与统计摘要生成,(3) 生成多图表仪表板。该技能专为探索性数据分析、统计报告和创建演示就绪的可视化而优化。

何时使用该技能

当用户请求以下内容时调用此技能:

  • “可视化这个CSV数据”
  • “从这个数据创建直方图/散点图/箱线图”
  • “显示[列名]的分布情况”
  • “为这个数据集生成仪表板”
  • “剖析这个CSV文件"或"分析这个数据”
  • “创建相关性热力图”
  • “显示随时间变化的趋势”
  • “比较[变量]在[类别]之间的差异”

核心功能

1. 独立可视化

使用visualize_csv.py脚本创建特定图表类型进行详细分析。

可用图表类型:

统计图表:

# 直方图 - 数值数据分布
python3 scripts/visualize_csv.py data.csv --histogram 列名 --bins 30

# 箱线图 - 显示四分位数和异常值
python3 scripts/visualize_csv.py data.csv --boxplot 列名

# 按类别分组的箱线图
python3 scripts/visualize_csv.py data.csv --boxplot 薪资 --group-by 部门

# 小提琴图 - 带概率密度的分布
python3 scripts/visualize_csv.py data.csv --violin 列名 --group-by 类别

关系分析:

# 带自动趋势线的散点图
python3 scripts/visualize_csv.py data.csv --scatter 身高 体重

# 带颜色和大小编码的散点图
python3 scripts/visualize_csv.py data.csv --scatter x y --color 类别 --size 数值

# 所有数值列的相关性热力图
python3 scripts/visualize_csv.py data.csv --correlation

时间序列:

# 单变量折线图
python3 scripts/visualize_csv.py data.csv --line 日期 销售额

# 同一图表上的多变量
python3 scripts/visualize_csv.py data.csv --line 日期 "销售额,收入,利润"

分类数据:

# 条形图(自动统计类别数量)
python3 scripts/visualize_csv.py data.csv --bar 类别

# 构成饼图
python3 scripts/visualize_csv.py data.csv --pie 区域

输出格式: 通过指定扩展名指定输出文件格式:

# 交互式HTML(默认)
python3 scripts/visualize_csv.py data.csv --histogram 年龄 -o output.html

# 静态图像格式
python3 scripts/visualize_csv.py data.csv --scatter x y -o plot.png
python3 scripts/visualize_csv.py data.csv --correlation -o heatmap.pdf
python3 scripts/visualize_csv.py data.csv --bar 类别 -o chart.svg

2. 自动数据剖析

使用data_profile.py脚本生成全面的数据质量和统计报告。

文本报告(默认):

python3 scripts/data_profile.py data.csv

HTML报告:

python3 scripts/data_profile.py data.csv -f html -o report.html

JSON报告:

python3 scripts/data_profile.py data.csv -f json -o profile.json

剖析器提供的内容:

  • 文件信息(大小、维度)
  • 数据集概览(形状、内存使用、重复项)
  • 逐列分析(类型、缺失数据、唯一值)
  • 缺失数据模式和完整性
  • 数值列统计摘要(均值、标准差、四分位数、偏度、峰度)
  • 分类列分析(频率计数、最常见/最不常见值)
  • 数据质量检查(高缺失数据、重复行、常量列、高基数)

何时使用剖析: 在以下情况下,始终建议在创建可视化之前运行数据剖析:

  • 用户不熟悉数据集
  • 数据质量未知
  • 需要确定合适的可视化类型
  • 首次探索新数据集

3. 多图表仪表板

使用create_dashboard.py脚本创建包含多个可视化的综合仪表板。

自动仪表板: 分析数据类型并自动创建合适的可视化:

python3 scripts/create_dashboard.py data.csv

自定义输出位置:

python3 scripts/create_dashboard.py data.csv -o my_dashboard.html

控制图表数量:

python3 scripts/create_dashboard.py data.csv --max-plots 9

基于配置的自定义仪表板: 创建JSON配置文件指定具体图表:

python3 scripts/create_dashboard.py data.csv --config config.json

仪表板配置格式:

{
  "title": "销售分析仪表板",
  "plots": [
    {"type": "histogram", "column": "收入"},
    {"type": "box", "column": "收入", "group_by": "区域"},
    {"type": "scatter", "column": "广告支出", "group_by": "收入"},
    {"type": "bar", "column": "产品类别"},
    {"type": "correlation"}
  ]
}

仪表板图表类型:

  • histogram:数值列分布
  • box:箱线图,可选按类别分组
  • scatter:两个数值列之间的关系
  • bar:分类值计数
  • correlation:数值相关性热力图

工作流决策树

使用此决策树确定合适的方法:

用户提供CSV文件
│
├─ "剖析此数据"/"分析此数据"/不熟悉的数据集
│  └─> 首先运行data_profile.py
│     然后根据发现提供可视化选项
│
├─ "创建仪表板"/"数据概览"/需要多个可视化
│  ├─ 用户知道所需的具体图表
│  │  └─> 创建JSON配置 → 使用配置运行create_dashboard.py
│  └─ 用户需要自动仪表板
│     └─> 运行create_dashboard.py(自动模式)
│
└─ 请求特定可视化("直方图"、"散点图"等)
   └─> 使用带适当标志的visualize_csv.py

最佳实践

开始分析

  1. 始终先剖析不熟悉的数据集:python3 scripts/data_profile.py data.csv
  2. 查看剖析输出以了解:
    • 列数据类型和范围
    • 缺失数据模式
    • 数据质量问题
    • 统计分布

选择可视化

参考references/visualization_guide.md获取详细指导。快速参考:

  • 分布:直方图、箱线图、小提琴图
  • 关系:散点图、相关性热力图
  • 时间序列:折线图
  • 类别:条形图(首选)或饼图(谨慎使用)
  • 比较:按类别分组的箱线图

创建仪表板

  • 自动仪表板:适合初步探索
  • 自定义仪表板:更适合演示或特定分析目标
  • 限制图表数量:最多保持6-9个图表以确保可读性
  • 逻辑分组:将相关可视化分组在一起

输出考虑

  • HTML:最适合交互式探索(缩放、平移、悬停提示)
  • PNG/PDF:最适合报告和演示
  • SVG:最适合需要矢量图形的出版物

依赖项

脚本需要以下Python包:

pip install pandas plotly numpy

对于静态图像导出(PNG、PDF、SVG),还需安装:

pip install kaleido

示例工作流

探索性数据分析

# 1. 剖析数据
python3 scripts/data_profile.py sales_data.csv -f html -o profile.html

# 2. 创建自动仪表板
python3 scripts/create_dashboard.py sales_data.csv -o dashboard.html

# 3. 使用特定图表深入分析
python3 scripts/visualize_csv.py sales_data.csv --scatter 价格 销售额 --color 区域
python3 scripts/visualize_csv.py sales_data.csv --boxplot 收入 --group-by 产品

报告生成

# 为报告创建特定可视化
python3 scripts/visualize_csv.py data.csv --histogram 年龄 -o fig1_分布.png
python3 scripts/visualize_csv.py data.csv --scatter 收入 年龄 -o fig2_相关性.png
python3 scripts/visualize_csv.py data.csv --bar 类别 -o fig3_类别.png

# 生成数据摘要
python3 scripts/data_profile.py data.csv -f html -o data_summary.html

交互式仪表板

# 为演示创建自定义仪表板
# 1. 首先,创建包含所需图表的config.json
# 2. 生成仪表板
python3 scripts/create_dashboard.py data.csv --config config.json -o presentation_dashboard.html

故障排除

"列未找到"错误:

  • 运行数据剖析以查看确切的列名
  • CSV列名区分大小写
  • 检查列名中的前导/尾随空格

空或错误的可视化:

  • 验证数据类型(数值与分类)
  • 检查绘制列中的缺失数据
  • 确保存在足够的非空值

脚本执行错误:

  • 验证依赖项是否已安装:pip list | grep plotly
  • 检查Python版本:需要Python 3.6+
  • 对于图像导出问题,安装kaleido:pip install kaleido

资源

scripts/

  • visualize_csv.py:包含所有图表类型的主要可视化脚本
  • data_profile.py:自动数据剖析和质量分析
  • create_dashboard.py:多图表仪表板生成器

references/

  • visualization_guide.md:选择合适图表类型、最佳实践和常见模式的综合指南