360 Secure SkillHub
360 安全技能中心

Csv To Chart

核心功能:根据用户提供的CSV数据生成适配的可视化图表,或推荐合适的图表类型。典型场景:用户上传/粘贴CSV并要求生成图表、可视化,或不确定选哪种图表时。输入为CSV文本、文件或路径,输出可运行的图表代码(含标题、轴标签等),会处理缺失值、格式异常等情况,确保图表适配数据结构。

wangjipeng977
wangjipeng977
热度 29.11
最近更新 2026-05-19 13:55:31
分类:数据依赖:代码执行 / 读写文件 / 内部调用大模型应用场景:数据处理 / 代码生成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add csv-to-chart
Metadata
name
csv-to-chart
description
Use when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. (2) user wants to "plot" or "visualize" tabular data. (3) user provides data and says "make a chart", "show this as a graph", or "visualize this".
license
MIT
metadata
{"version":"1.0","category":"productivity","author":"wangjipeng","sources":["https://github.com/MiniMax-AI/skills"]}

CSV to Chart

Use when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. (2) user wants to "plot" or "visualize" tabular data. (3) user provides data and says "make a chart", "show this as a graph", or "visualize this".

Core Position

This skill solves the specific problem of: user has tabular CSV data and needs a visual chart — not the raw numbers.

This skill IS NOT:

  • A data transformation tool (use csv-to-task for row-level operations)
  • A reporting tool — it produces visual output, not written reports
  • Activated by "analyze this data" alone — must involve chart/visualization intent

This skill IS activated ONLY when: chart/graph/visualization intent + CSV data are both present.

Modes

/csv-to-chart

Default mode. Reads CSV data and outputs a chart specification or renders the chart directly.

When to use: User provides CSV and explicitly asks for a chart, plot, graph, or visualization.

/csv-to-chart/suggest

Suggests the most appropriate chart type based on data structure without generating the chart.

When to use: User is unsure which chart type fits their data.

Execution Steps

Step 1 — Parse the CSV

  1. Receive CSV input (pasted text, file attachment, or path)
  2. Detect header row — first row becomes column names
  3. Detect column types:
    • Numeric → candidate for Y-axis / values
    • Date/datetime → candidate for X-axis / time series
    • Text/category → candidate for labels / categories
  4. If CSV is malformed (uneven columns, no header), respond with specific fix request

Step 2 — Select Chart Type

Choose the most appropriate chart based on data shape:

Data Shape Recommended Chart
1 numeric col + 1 category col Bar chart (vertical or horizontal)
2+ numeric cols, 1 category col Grouped/stacked bar, line
1 time-series numeric col Line chart
2 numeric cols (correlation) Scatter plot
Proportions summing to 100% Pie / donut chart
Single numeric column Histogram
3+ numeric cols, many rows Heatmap or radar

If user specified a chart type, validate it makes sense for the data; warn if mismatched.

Step 3 — Generate Chart

Produce chart using a library appropriate to context:

  • Python: matplotlib or plotly
  • JavaScript: chart.js or plotly.js
  • Markdown/mermaid: mermaid flowchart for simple data

Output the complete, runnable code block with the chart. Include axis labels, title, and legend.

Step 4 — Validate Output

  • Verify chart renders without error
  • Confirm X and Y axes match the data columns
  • Ensure no data truncation or misordering

Mandatory Rules

Do not

  • Do not assume column meaning from position — always use headers
  • Do not强行 apply a pie chart to data with >7 categories
  • Do not truncate data rows silently — warn if >500 rows
  • Do not embed API keys in chart rendering code

Do

  • State the chart type being generated and why it fits the data
  • Preserve original column names and data types
  • Handle missing values explicitly (skip, zero-fill, or annotate)
  • Add a clear title and axis labels

Quality Bar

A good output:

  • Chart type matches data shape and user intent
  • All columns are correctly mapped to axes
  • Code runs without modification and renders a visible chart
  • Handles missing values and edge cases explicitly

A bad output:

  • Renders a chart type unrelated to data (e.g., pie chart for 50 categories)
  • Misplaces data on wrong axis (category on Y, numeric on X)
  • Drops or reorders rows silently
  • Code block missing dependencies or imports

Good vs. Bad Examples

Scenario Bad Output Good Output
Monthly sales data Line chart with year as Y-axis Line chart with month on X, sales on Y, labeled axes
Product categories Pie chart with 20 slices Horizontal bar chart, top 10 + "Other"
Two numeric columns Static image without context Scatter plot with axis labels and trend line
CSV with missing values Drops rows silently "Note: 3 rows omitted due to missing Q3 sales; treated as 0"

References

  • references/ — Chart type decision tree, code templates for plotly/matplotlib/chart.js