视觉设计Skill visual-design

这个技能用于生成数据图表和视觉设计,包括海报、信息图、图表、艺术品等。它支持使用Python库如matplotlib、plotly、Pillow、reportlab等进行图像和PDF输出,适用于数据可视化、海报设计、信息图制作等场景。关键词:数据可视化、视觉设计、图表生成、信息图制作、海报设计、Python数据可视化工具。

数据可视化 0 次安装 0 次浏览 更新于 3/11/2026

name: visual-design description: “任何时候用户需要图像或PDF形式的视觉输出时使用此技能 — 图表、图表、海报、信息图、抽象艺术品或任何视觉设计。触发条件:数据可视化请求、海报/传单创建、信息图设计、抽象或艺术视觉、架构/流程图,或任何提及’chart’、‘graph’、‘poster’、‘infographic’、‘design’、‘visual’,或引用.png/.pdf图像输出的请求。”

视觉设计

快速参考

任务 工具 指南
数据图表或图形 generate_chart 阅读 SKILL.md 设计想法
海报 / 信息图 / 艺术 create_visual_design 阅读 canvas-design.md
架构 / 流程图 create_visual_design 阅读 diagram-design.md

可用工具

generate_chart

数据可视化。执行 matplotlib/plotly 代码以生成图表 PNG 文件。

  • python_code (str, 必需): 图表生成 Python 代码
  • output_filename (str, 必需): .png 文件名

create_visual_design

视觉设计创建:海报、信息图、艺术品、图表。 使用 reportlab、Pillow、svgwrite 或任何可用库。

  • python_code (str, 必需): 设计生成 Python 代码
  • output_filename (str, 必需): .png.pdf 文件名

可用库

目的 输出 备注
数据图表 matplotlib, plotly, bokeh PNG 最适合图表
PDF 设计 reportlab, fpdf PDF 完全控制
图像设计 Pillow + fonttools PNG 最适合 PNG 设计
矢量图形 svgwrite → svglib + renderPDF SVG → PDF SVG→PNG 不支持(无 renderPM)
图像处理 Wand (ImageMagick), opencv-python PNG 首先检查可用性

重要:对于 PNG 输出,使用 Pillow 或 matplotlib。不要使用 svgwrite→renderPM(rlPyCairo 不可用)。

设计工作流

数据图表 (generate_chart)

  1. 识别数据结构并选择适当的图表类型
  2. 选择调色板(见下面的设计想法)
  3. 使用 plt.savefig(filename, dpi=300, bbox_inches='tight') 编写代码
  4. 审查生成的图表

视觉设计 (create_visual_design)

  1. 确立设计概念/理念(内部)
  2. 遵循 canvas-design.md 中的流程
  3. 选择适当的库并编写代码
  4. 保存:reportlab canvas.save()、Pillow image.save()、matplotlib plt.savefig()
  5. 审查输出并优化

设计想法

调色板

主题 主色 强调色 背景色
午夜商务 1E2761 408EC6 0D1B2A
森林与苔藓 2C5F2D 97BC62 1A1A1A
珊瑚能量 F96167 F9E795 2F3C7E
海洋渐变 065A82 1B9AAA 021B29
炭黑简约 36454F E8E8E8 1C1C1E
樱桃大胆 990011 FCF6F5 150E11
鼠尾草平静 84B59F 69A297 2D3A2D
温暖陶土 B85042 E7E8D1 2A1F1C

排版

优先使用细/轻字体。最小化设计中的文本。

元素 大小 样式
主标题 48-72pt 粗体或细体
副文本 14-18pt 轻体
标签/标题 8-12pt 常规,柔和

文本与画布平衡(重要):

  • 文本大小必须与整体画布和周围设计元素成比例
  • 常见错误:文本相对于画布太小,在正常观看距离下无法阅读
  • 经验法则:如果你需要放大才能阅读,那它太小了
  • 标题应吸引注意力 — 有疑问时,选择更大
  • 标签/标题应清晰易读,不是装饰性的次要部分
  • 测试:心理上将输出缩小到50% — 所有文本应该仍然可读

间距与构图

  • 宽裕的边距(画布的至少10%)
  • 元素之间一致的间距
  • 无重叠;所有元素在画布边界内
  • 视觉层次:通过大小、颜色、位置传达重要性

避免

  • 元素紧贴画布边缘(边距不足)
  • 重叠元素
  • 颜色过多(坚持3-4种)
  • 过度文本 — 视觉元素是焦点
  • 默认 matplotlib 样式,未经定制

代码要求

  • 代码必须将文件保存到磁盘
  • 使用提供的确切 output_filename
  • PNG:推荐 dpi=300 或更高
  • PDF:推荐 A4 或 Letter 尺寸
  • 对于韩语文本:配置适当的字体

QA

假设存在问题并寻找它们。

  1. 审查生成的图像/PDF
  2. 检查重叠元素、被裁剪的文本、边距不足
  3. 验证颜色对比度足够
  4. 如果发现问题,修复代码并重新生成
  5. 在完成前完成至少一个修复-验证循环