/create-viz - 创建可视化

如果你看到不熟悉的占位符或需要检查已连接的工具,请参阅 CONNECTORS.md

使用 Python 创建出版级数据可视化。根据数据生成图表,遵循清晰、准确和设计方面的最佳实践。

用法

/create-viz <数据源> [图表类型] [附加说明]

工作流程

1. 理解需求

确定:

2. 获取数据

如果数据仓库已连接且需要查询数据:

  1. 编写并执行查询
  2. 将结果加载到 pandas DataFrame 中

如果数据是粘贴或上传的:

  1. 将数据解析到 pandas DataFrame 中
  2. 根据需要清理和准备(类型转换、空值处理)

如果数据来自对话中之前的分析:

  1. 引用现有数据

3. 选择图表类型

如果用户未指定图表类型,根据数据和问题推荐:

数据关系 推荐图表
随时间变化的趋势 折线图
类别间比较 柱状图(类别多时用水平柱状图)
部分与整体的构成 堆叠柱状图或面积图(避免饼图,除非少于 6 个类别)
值分布 直方图或箱线图
两个变量间的相关性 散点图
两个变量随时间比较 双轴折线图或分组柱状图
地理数据 等值线图
排名 水平柱状图
流程 桑基图
关系矩阵 热力图

如果用户未指定,简要解释推荐理由。

4. 生成可视化

根据需求使用以下库之一编写 Python 代码:

代码要求:

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

# 设置专业风格
plt.style.use('seaborn-v0_8-whitegrid')
sns.set_palette("husl")

# 创建适当尺寸的图形
fig, ax = plt.subplots(figsize=(10, 6))

# [图表特定代码]

# 始终包含:
ax.set_title('清晰、描述性的标题', fontsize=14, fontweight='bold')
ax.set_xlabel('X 轴标签', fontsize=11)
ax.set_ylabel('Y 轴标签', fontsize=11)

# 适当格式化数字
# - 百分比:'45.2%' 而不是 '0.452'
# - 货币:'$1.2M' 而不是 '1200000'
# - 大数字:'2.3K' 或 '1.5M' 而不是 '2300' 或 '1500000'

# 移除图表垃圾元素
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. 应用设计最佳实践

颜色:

排版:

布局:

准确性:

6. 保存和呈现

  1. 将图表保存为 PNG 文件,使用描述性名称
  2. 向用户展示图表
  3. 提供使用的代码,方便用户修改
  4. 建议变体(不同的图表类型、不同的分组方式、缩放的时间范围)

示例

/create-viz 显示过去 12 个月的月度收入,用折线图并突出显示趋势
/create-viz 这是我们按产品划分的 NPS 数据:[粘贴数据]。创建一个水平柱状图,按分数排名产品。
/create-viz 查询 orders 表,创建一个关于星期几和小时的订单量热力图

技巧