老钱做图模板
按照统一视觉规范生成公众号或播客数据图表。在不改变固定规则的前提下,可以根据数据特点改善标签避让、留白和信息层级。
所需输入
- 数据文件或用户直接提供的数据;
- 图表类型,或足以据数据关系选择图表类型的信息;
- 图表标题;
- 数据来源文字;
- 出品方名称或 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,不保留模板作者署名。
- 任何标题、图例、标签和注释都不得互相遮挡或超出画布。
颜色
数据系列按以下顺序使用,不跳色:
#5AAEF3蓝色#333333深灰#E65A56红色#6D61E4紫色#30CB13绿色#FF974C橙色#CC45F4粉紫
若系列超过七个,优先重新组织图表以降低认知负担;确实必须保留时,新增颜色要与现有序列有足够区分度并说明偏离。
坐标轴与网格
- 横向、纵向网格线都显示,颜色
#CCCCCC,粗细 1 px,并置于数据图形下方。 - 坐标轴标题自动包含单位,例如
收益率 (%)或价格 (美元/盎司)。 - 混合图包含多个 Y 轴时,每个 Y 轴的标题和刻度颜色必须与对应系列一致。
- 折线图在每条线的最新数据点添加数值标签;颜色与折线一致,置于右侧或上方并避免遮挡。
- 数值默认保留 1 位小数,除非用户指定精度或数据含义要求其他精度。
执行与验证
- 读取并检查数据字段、单位、日期范围、缺失值和异常值。
- 确认或合理选择图表类型,确定标题、来源和出品方。
- 使用适合当前环境的图表工具生成图表;使用 matplotlib 时,按像素尺寸设置画布并加载已确认存在的中文字体文件。
- 将图例、来源、署名和最新值标签放到固定位置,处理标签碰撞。
- 保存 PNG 后验证尺寸、中文渲染、颜色顺序、单位、数据值和文本遮挡;发现问题就重新生成。
- 向用户提供输出文件,并说明任何字体替代或视觉规范偏离。
不得因 bbox_inches="tight" 等自动裁切选项改变最终像素尺寸。数据正确性优先于装饰,图表不得使用 3D 效果、渐变背景或与数据无关的装饰元素。