关于 create-viz
create-viz 是一项使用 Python 将提供、上传或查询的数据制作为可视化图表的技能。它会协助选择图表类型并遵循设计规范,最后保存 PNG 并提供所用代码。
主要功能
- 01接收粘贴、上传或查询的数据
- 02根据数据关系推荐图表类型
- 03使用 matplotlib、seaborn 或 plotly 生成图表
- 04遵循清晰度与准确性规范
- 05保存 PNG 并提供源代码
适用场景
- 01为报告绘制趋势图
- 02在演示文稿中比较类别
- 03探索数据分布或相关性
- 04根据数据创建交互式图表
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ anthropics/ knowledge-work-plugins --skill create-viz安装后在 Claude Code 中输入/create-viz确认已加载。
详细介绍
/create-viz - 创建可视化
如果您看到不熟悉的占位符,或需要检查已连接的工具,请参阅 CONNECTORS.md。
使用 Python 创建可用于发布的高质量数据可视化。根据数据生成图表,并遵循清晰、准确和设计方面的最佳实践。
用法
/create-viz <data source> [chart type] [additional instructions]
工作流
1. 理解请求
确定以下内容:
- 数据来源:查询结果、粘贴的数据、CSV/Excel 文件,或需要查询的数据
- 图表类型:明确指定的,或需要推荐的
- 用途:探索、演示、报告、仪表板组件
- 受众:技术团队、管理层、外部利益相关方
2. 获取数据
如果已连接数据仓库且需要查询数据:
- 编写并执行查询
- 将结果加载到 pandas DataFrame 中
如果数据是粘贴或上传的:
- 将数据解析为 pandas DataFrame
- 根据需要进行清洗和准备(类型转换、空值处理)
如果数据来自对话中的先前分析:
- 引用已有数据
3. 选择图表类型
如果用户未指定图表类型,则根据数据和问题推荐一种:
| 数据关系 | 推荐图表 |
|---|---|
| 随时间的趋势 | 折线图 |
| 跨类别比较 | 条形图(类别较多时使用水平条形图) |
| 部分与整体的构成 | 堆叠条形图或面积图(除非类别少于 6 个,否则避免使用饼图) |
| 数值分布 | 直方图或箱线图 |
| 两个变量之间的相关性 | 散点图 |
| 两个变量随时间的比较 | 双轴折线图或分组条形图 |
| 地理数据 | 分级统计地图 |
| 排名 | 水平条形图 |
| 流向或流程 | 桑基图 |
| 关系矩阵 | 热力图 |
如果用户未指定,请简要说明推荐理由。
4. 生成可视化
根据需求,使用以下库之一编写 Python 代码:
- matplotlib + seaborn:最适合静态、可用于发布的高质量图表。默认选择。
- plotly:最适合交互式图表,或用户要求交互功能时使用。
代码要求:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
# Set professional style
plt.style.use('seaborn-v0_8-whitegrid')
sns.set_palette("husl")
# Create figure with appropriate size
fig, ax = plt.subplots(figsize=(10, 6))
# [chart-specific code]
# Always include:
ax.set_title('Clear, Descriptive Title', fontsize=14, fontweight='bold')
ax.set_xlabel('X-Axis Label', fontsize=11)
ax.set_ylabel('Y-Axis Label', fontsize=11)
# Format numbers appropriately
# - Percentages: '45.2%' not '0.452'
# - Currency: '$1.2M' not '1200000'
# - Large numbers: '2.3K' or '1.5M' not '2300' or '1500000'
# Remove chart junk
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.tight_layout()
plt.savefig('chart_name.png', dpi=150, bbox_inches='tight')
plt.show()
5. 应用设计最佳实践
颜色:
- 使用一致且对色盲友好的配色方案
- 有意义地使用颜色(而非装饰性地)
- 用对比色突出关键数据点或趋势
- 将次要的参考数据设为灰色
排版:
- 标题应描述洞察结论,而不仅仅是指标(例如用“收入同比增长 23%”,而非“按月收入”)
- 坐标轴标签清晰易读(如无必要,避免旋转 90 度)
- 在关键数据点上添加数据标签(当其有助于理解时)
布局:
- 留出适当的留白和边距
- 图例位置不遮挡数据
- 类别按数值排序(而非按字母顺序),除非存在自然顺序
准确性:
- 条形图的 Y 轴从零开始
- 除非有清晰的标注,否则不要使用误导性的坐标轴断点
- 比较多个面板时保持刻度一致
- 精度适当(不要显示 10 位小数)
6. 保存并展示
- 将图表保存为 PNG 文件,并使用描述性名称
- 向用户展示图表
- 提供所用代码,方便用户修改
- 建议变体(不同图表类型、不同分组方式、缩放的时间范围)
示例
/create-viz Show monthly revenue for the last 12 months as a line chart with the trend highlighted
/create-viz Here's our NPS data by product: [pastes data]. Create a horizontal bar chart ranking products by score.
/create-viz Query the orders table and create a heatmap of order volume by day-of-week and hour
提示
- 如果您需要交互式图表(悬停、缩放、筛选),请提及“交互式”,Claude 将使用 plotly
- 如果需要更大的字体和更高的对比度,请注明“演示用”
- 您可以一次请求多个图表(例如“创建一个 2x2 的图表网格,展示……”)
- 图表会以 PNG 文件的形式保存到您当前的目录中
评论
支持 Markdown