返回 Skill 列表
extension
分类: 数据与分析无需 API Key

Data Visualization

根据数据类型智能选择图表,生成统一规范的专业 matplotlib 代码。支持三套模板:BCG(绿色简洁风)、The Economist(红线青蓝媒体风)和 McKinsey(亮青浅灰咨询风)。适用场景:数据可视化、生成柱状图、折线图、饼图、散点图等。

person作者: veezvghubclawhub

Data Visualization

根据数据类型智能选择图表,按统一规范生成 Python matplotlib 代码。三套风格均按真实报告视觉提取并可复刻。

工作流程

  1. 询问风格 - 若用户未指定风格,展示三套选项供选择
  2. 分析数据 - 识别数据类型(时序、分类、占比等)
  3. 选择图表 - 参考 references/chart_selection.md 匹配最佳图表类型
  4. 找对应示例 - 优先从 examples/ 中找最接近的模板脚本,直接照着改
  5. 查细节规范 - 遇到 examples 没覆盖的场景,查 references/visualization_spec.md
  6. 输出代码 - 生成完整可运行的 Python 代码

风格选项

| # | 风格 | 适用场景 | 主色 | |---|------|---------|------| | 1 | BCG(默认) | 通用数据分析、研究报告 | 绿色 #2ca02c | | 2 | The Economist | 媒体发布、公开报告 | 红线 #E3120B + 蓝 #006BA2 | | 3 | McKinsey | 咨询汇报、高管演示 | 亮青 #2CBDEF + 浅灰 #D4D4D4 |

示例脚本(examples/)

所有示例都是完整可运行的脚本,改数据即用。

| 脚本 | 风格 | 图表类型 | 参考 | |------|------|---------|------| | bcg_hbar.py | BCG | 水平柱状图 | 通用调研报告 | | economist_hbar.py | Economist | 水平条形图 | 类别排行对比 | | economist_line.py | Economist | 折线图(时间序列) | 多系列趋势,重点上色 | | mckinsey_grouped_vbar.py | McKinsey | 分组垂直柱 | Exhibit 7 样式 | | mckinsey_grouped_hbar.py | McKinsey | 分组水平条 | Exhibit 4 样式 | | mckinsey_stack100.py | McKinsey | 100% 堆叠单条 | Exhibit 1 样式(Likert-scale) |

图表选择速查

| 数据类型 | 推荐图表 | |---------|---------| | 趋势变化 | Line Chart | | 类别比较 | Bar Chart | | 占比分布 (≤5项) | Pie/Donut | | 占比分布 (>5项) | Stacked Bar | | Top vs Others 对比 | 分组柱状图(McKinsey 标配) | | Likert-scale 分布 | 100% 堆叠单条(渐变色) | | 相关性 | Scatter Plot | | 层级结构 | Treemap |

完整 25 种数据类型映射见 references/chart_selection.md

各风格核心规范速查

BCG 风格

  • 主色 #2ca02c(绿),无渐变
  • 标题含样本量 (N=X)
  • 去除上/右/下边框,无网格线

The Economist 风格

  • 白色背景(非蓝灰)
  • 顶部标志元素:全宽红线 #E3120B + 左上角红色方块 tag,都用 fig.transFigure + clip_on=False禁用 fig.add_axes
  • 所有左对齐元素(红线起点/tag/标题/分类标签)共用基准 LEFT_X=0.14
  • 主数据系列 #006BA2,灰化对照 #758D99
  • 分类标签必须用 blended_transform_factory(fig.transFigure, ax.transData) 对齐,否则会超出 LEFT_X 左端

McKinsey 风格

  • 亮青 #2CBDEF + 浅灰 #D4D4D4 二元对照(非单色高亮其他灰化)
  • 左上"Exhibit X"小灰字 + 下方全宽细分隔线
  • 超大粗体标题(15~17pt),结论句
  • 图例在右上角,色块 + 文字纵向排列
  • 柱子必须width=0.32~0.38
  • y 轴隐藏刻度,数字直接写在柱上
  • 来源注脚写 Source: 或"资料来源:"

三条常见坑(必看)

  1. 禁用 fig.add_axes(会与布局系统冲突)。Economist 的红线/tag 用 ax.plot + mpatches.Rectanglefig.transFigure + clip_on=False
  2. 禁用 ax.set_ylabel 放中文单位(会伸出 LEFT_X 左侧破坏对齐)。y 方向单位写进副标题;set_xlabel 可用(在 x 轴下方居中)。
  3. 轴刻度 formatter 禁止含中文汉字(字体缺失变方块)。中文单位用副标题或 set_xlabel

完整规范(三套共享工具函数 + 所有代码模板)见 references/visualization_spec.md

关键约束

  1. 占比数据超过 5 项时,用堆叠柱状图替代饼图
  2. 中文必须通过 FontProperties 显式设置(/System/Library/Fonts/STHeiti Light.ttc
  3. BCG 标题含样本量 (N=X);McKinsey 标题是结论句 + "Exhibit X"编号;Economist 标题是描述性短句
  4. 数据标签格式 {:.1f}%{:.2f}(看量级)