mcpField
C
csv-data-visualizer

csv-data-visualizer

github.com/ailabs-393数据与数据库4601.3k 次安装50 周前更新
代码仓库

关于 csv-data-visualizer

csv-data-visualizer 是用于探索 CSV 文件的技能,提供 Plotly 图表、数据概况分析和多图表仪表板。适合需要交互式探索或导出图表与报告的数据分析人员。

主要功能

  1. 01交互式 Plotly 图表
  2. 02CSV 统计与质量概况分析
  3. 03自动及配置式仪表板
  4. 04导出 HTML 和静态图像

适用场景

  1. 01探索 CSV 中的数据分布与关系
  2. 02检查缺失数据和数据集质量
  3. 03构建多图表数据概览
  4. 04为报告或演示导出图表

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ailabs-393/ai-labs-claude-skills --skill csv-data-visualizer

安装后在 Claude Code 中输入/csv-data-visualizer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

index.js
package.json
references/
visualization_guide.md
scripts/
create_dashboard.py
data_profile.py
visualize_csv.py

详细介绍

CSV 数据可视化

概述

此技能可对 CSV 文件进行全面的数据可视化和分析。它提供三项主要功能:(1)使用 Plotly 创建单个交互式可视化图表,(2)自动生成数据概况和统计摘要,以及(3)生成多图表仪表板。此技能针对探索性数据分析、统计报告和制作可直接用于演示的可视化图表进行了优化。

何时使用此技能

当用户提出以下请求时,调用此技能:

  • “可视化这些 CSV 数据”
  • “根据这些数据创建直方图/散点图/箱线图”
  • “显示 [column] 的分布”
  • “为此数据集生成仪表板”
  • “分析此 CSV 文件的数据概况”或“分析这些数据”
  • “创建相关性热力图”
  • “显示随时间变化的趋势”
  • “比较不同 [categories] 下的 [variable]”

核心功能

1. 单个可视化图表

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

可用图表类型:

统计图表:

# Histogram - distribution of numeric data
python3 scripts/visualize_csv.py data.csv --histogram column_name --bins 30

# Box plot - show quartiles and outliers
python3 scripts/visualize_csv.py data.csv --boxplot column_name

# Box plot grouped by category
python3 scripts/visualize_csv.py data.csv --boxplot salary --group-by department

# Violin plot - distribution with probability density
python3 scripts/visualize_csv.py data.csv --violin column_name --group-by category

关系分析:

# Scatter plot with automatic trend line
python3 scripts/visualize_csv.py data.csv --scatter height weight

# Scatter plot with color and size encoding
python3 scripts/visualize_csv.py data.csv --scatter x y --color category --size value

# Correlation heatmap for all numeric columns
python3 scripts/visualize_csv.py data.csv --correlation

时间序列:

# Line chart for single variable
python3 scripts/visualize_csv.py data.csv --line date sales

# Multiple variables on same chart
python3 scripts/visualize_csv.py data.csv --line date "sales,revenue,profit"

分类数据:

# Bar chart (counts categories automatically)
python3 scripts/visualize_csv.py data.csv --bar category

# Pie chart for composition
python3 scripts/visualize_csv.py data.csv --pie region

输出格式: 使用所需格式的扩展名指定输出文件:

# Interactive HTML (default)
python3 scripts/visualize_csv.py data.csv --histogram age -o output.html

# Static image formats
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 category -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": "Sales Analysis Dashboard",
  "plots": [
    {"type": "histogram", "column": "revenue"},
    {"type": "box", "column": "revenue", "group_by": "region"},
    {"type": "scatter", "column": "advertising", "group_by": "revenue"},
    {"type": "bar", "column": "product_category"},
    {"type": "correlation"}
  ]
}

仪表板图表类型:

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

工作流决策树

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

User provides CSV file
│
├─ "Profile this data" / "Analyze this data" / Unfamiliar dataset
│  └─> Run data_profile.py first
│     Then offer visualization options based on findings
│
├─ "Create dashboard" / "Overview of the data" / Multiple visualizations needed
│  ├─ User knows exact plots wanted
│  │  └─> Create JSON config → run create_dashboard.py with config
│  └─ User wants automatic dashboard
│     └─> Run create_dashboard.py (auto mode)
│
└─ Specific visualization requested ("histogram", "scatter plot", etc.)
   └─> Use visualize_csv.py with appropriate flag

最佳实践

开始分析
  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. Profile the data
python3 scripts/data_profile.py sales_data.csv -f html -o profile.html

# 2. Create automatic dashboard
python3 scripts/create_dashboard.py sales_data.csv -o dashboard.html

# 3. Dive deeper with specific plots
python3 scripts/visualize_csv.py sales_data.csv --scatter price sales --color region
python3 scripts/visualize_csv.py sales_data.csv --boxplot revenue --group-by product
生成报告
# Create specific visualizations for report
python3 scripts/visualize_csv.py data.csv --histogram age -o fig1_distribution.png
python3 scripts/visualize_csv.py data.csv --scatter income age -o fig2_correlation.png
python3 scripts/visualize_csv.py data.csv --bar category -o fig3_categories.png

# Generate data summary
python3 scripts/data_profile.py data.csv -f html -o data_summary.html
交互式仪表板
# Create custom dashboard for presentation
# 1. First, create config.json with desired plots
# 2. Generate dashboard
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:选择合适图表类型、最佳实践和常见模式的综合指南

评论

支持 Markdown