# Laoqian Chart

> 按固定的画布、字体、颜色、图例、坐标轴和署名规范生成公众号或播客数据图。用户要求按老钱做图模板做图、画图或输出统一风格 PNG 时使用；不适用于照片生成、插画或不含数据的视觉设计。

- Skill: `soapwong/laoqian-chart` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add soapwong/laoqian-chart`
- Raw SKILL.md: https://api.skillmd.com/api/skills/soapwong/laoqian-chart/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: soapwong (https://skillmd.com/u/soapwong)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/soapwong/laoqian-chart

---


# 老钱做图模板

按照统一视觉规范生成公众号或播客数据图表。在不改变固定规则的前提下，可以根据数据特点改善标签避让、留白和信息层级。

## 所需输入

- 数据文件或用户直接提供的数据；
- 图表类型，或足以据数据关系选择图表类型的信息；
- 图表标题；
- 数据来源文字；
- 出品方名称或 Logo。

缺少不影响事实准确性的视觉细节时可采用保守默认值；标题、来源或出品方无法可靠推断时再向用户确认。不得虚构数据来源。

## 画布

- 尺寸：`2700 x 2400 px`
- 背景：白色 `#FFFFFF`
- 输出：PNG，最终像素尺寸必须核验为 2700 x 2400

## 字体

优先使用思源黑体（Noto Sans SC），运行前检查系统中的实际字体文件。若未安装，使用覆盖中文字形的无衬线字体替代，并明确告知用户，不要继续使用会造成缺字或重影的字体。

| 元素 | 字重 | 字号 |
| --- | --- | --- |
| 标题 | Bold 700 | 40 px |
| 图例 | Light 300 | 14 px |
| 数据来源 | Light 300 | 14 px |
| 出品方 | Light 300 | 14 px |
| 坐标轴标签 | Regular 400 | 12 px |

## 布局

- 标题上方居中。
- 图例上方居中，位于标题正下方。
- 数据来源置于左下角，格式如 `数据来源：FRED, Wind`。
- 出品方置于右下角，使用用户提供的名称或 Logo，不保留模板作者署名。
- 任何标题、图例、标签和注释都不得互相遮挡或超出画布。

## 颜色

数据系列按以下顺序使用，不跳色：

1. `#5AAEF3` 蓝色
2. `#333333` 深灰
3. `#E65A56` 红色
4. `#6D61E4` 紫色
5. `#30CB13` 绿色
6. `#FF974C` 橙色
7. `#CC45F4` 粉紫

若系列超过七个，优先重新组织图表以降低认知负担；确实必须保留时，新增颜色要与现有序列有足够区分度并说明偏离。

## 坐标轴与网格

- 横向、纵向网格线都显示，颜色 `#CCCCCC`，粗细 1 px，并置于数据图形下方。
- 坐标轴标题自动包含单位，例如 `收益率 (%)` 或 `价格 (美元/盎司)`。
- 混合图包含多个 Y 轴时，每个 Y 轴的标题和刻度颜色必须与对应系列一致。
- 折线图在每条线的最新数据点添加数值标签；颜色与折线一致，置于右侧或上方并避免遮挡。
- 数值默认保留 1 位小数，除非用户指定精度或数据含义要求其他精度。

## 执行与验证

1. 读取并检查数据字段、单位、日期范围、缺失值和异常值。
2. 确认或合理选择图表类型，确定标题、来源和出品方。
3. 使用适合当前环境的图表工具生成图表；使用 matplotlib 时，按像素尺寸设置画布并加载已确认存在的中文字体文件。
4. 将图例、来源、署名和最新值标签放到固定位置，处理标签碰撞。
5. 保存 PNG 后验证尺寸、中文渲染、颜色顺序、单位、数据值和文本遮挡；发现问题就重新生成。
6. 向用户提供输出文件，并说明任何字体替代或视觉规范偏离。

不得因 `bbox_inches="tight"` 等自动裁切选项改变最终像素尺寸。数据正确性优先于装饰，图表不得使用 3D 效果、渐变背景或与数据无关的装饰元素。

