6.4 KiB
Visualization Best Practices for ML/AI Papers
论文级可视化的最佳实践指南。
核心原则
- 清晰性 - 信息传达清晰,无歧义
- 准确性 - 数据表示准确,不误导
- 可访问性 - 色盲友好,黑白打印可读
- 专业性 - 符合学术出版标准
图表格式要求
矢量图 vs 位图
| 格式 | 类型 | 使用场景 | 质量 |
|---|---|---|---|
| PDF/EPS | 矢量图 | 图表、曲线、示意图 | ✅ 推荐 |
| SVG | 矢量图 | 网页展示 | ✅ 可用 |
| PNG | 位图 | 照片、截图 | ⚠️ 需高分辨率(≥600 DPI) |
| JPG | 位图 | 照片 | ❌ 避免用于图表 |
规则: 所有图表使用矢量图格式(PDF/EPS),照片使用高分辨率位图(PNG ≥600 DPI)。
配色方案
色盲友好配色
推荐配色方案:
Okabe-Ito 配色(最常用)
- 橙色: #E69F00
- 天蓝: #56B4E9
- 绿色: #009E73
- 黄色: #F0E442
- 蓝色: #0072B2
- 红色: #D55E00
- 粉色: #CC79A7
- 黑色: #000000
Paul Tol 配色
- 适用于定性数据
- 提供多种配色方案(亮色、柔和、对比)
配色原则
- 最多使用 5-7 种颜色 - 过多颜色难以区分
- 避免红绿组合 - 红绿色盲无法区分
- 测试黑白打印 - 确保灰度下可读
- 使用不同线型 - 配合颜色使用(实线、虚线、点线)
图表类型选择
折线图 (Line Plot)
使用场景: 展示趋势、训练曲线、时间序列
要点:
- 使用误差带(阴影区域)表示标准差/标准误
- 线宽 1.5-2.0 pt
- 标记点大小适中(4-6 pt)
- 网格线透明度 0.3
示例: 训练损失曲线、准确率随 epoch 变化
柱状图 (Bar Plot)
使用场景: 性能对比、消融实验
要点:
- 使用误差条表示不确定性
- 柱子宽度一致
- 间距适当(柱宽的 20-30%)
- 加粗最佳结果的柱子
示例: 不同方法的准确率对比
箱线图 (Box Plot)
使用场景: 展示分布、识别异常值
要点:
- 显示中位数、四分位数、异常值
- 适合展示多次运行的结果
- 可与散点图叠加
示例: 多次运行的性能分布
散点图 (Scatter Plot)
使用场景: 展示相关性、聚类效果
要点:
- 点的大小和透明度适当
- 使用不同形状区分类别
- 添加趋势线(如需要)
示例: 预测值 vs 真实值、特征空间可视化
热力图 (Heatmap)
使用场景: 混淆矩阵、相关性矩阵、注意力权重
要点:
- 使用顺序配色(单色渐变)或发散配色(双色渐变)
- 添加数值标注(如空间允许)
- 色条(colorbar)清晰标注
示例: 混淆矩阵、注意力可视化
图表元素规范
坐标轴
X 轴和 Y 轴:
- 标签字体大小: 10-12 pt
- 刻度字体大小: 8-10 pt
- 标签清晰描述变量和单位
- 刻度间距合理
坐标轴范围:
- Y 轴通常从 0 开始(除非有特殊原因)
- 不要截断坐标轴夸大差异
- 使用科学计数法表示大数值
图例 (Legend)
位置: 不遮挡数据,通常放在右上角或外部
内容:
- 简洁描述每条曲线/柱子
- 字体大小 8-10 pt
- 使用与图中一致的颜色和线型
标题和标签
图标题: 通常不在图内添加标题,使用 caption 代替
Caption:
- 独立完整,不依赖正文
- 说明图表内容、实验设置、关键观察
- 字体大小 9-10 pt
示例: "图 1: 不同模型在测试集上的准确率对比。误差条表示 5 次运行的标准差。我们的方法(蓝色)在所有数据集上均优于基线方法。"
误差表示
误差条 (Error Bars)
类型:
- 标准差 (SD): 描述数据变异性
- 标准误 (SE): 描述均值不确定性
- 置信区间 (CI): 参数估计范围
表示方法:
- 柱状图: 垂直误差条
- 折线图: 误差带(阴影区域)
必须说明: 在 caption 中明确说明使用的是哪种误差
误差带 (Error Band)
折线图的误差表示:
- 使用半透明阴影区域(alpha=0.2-0.3)
- 颜色与主线一致
- 不要使用误差条(会使图表混乱)
尺寸和分辨率
图表尺寸
单栏图 (single-column):
- 宽度: 3.5 inches (约 9 cm)
- 高度: 2-3 inches
双栏图 (double-column):
- 宽度: 7 inches (约 18 cm)
- 高度: 3-5 inches
纵横比: 通常 4:3 或 16:9
分辨率
矢量图: 无需考虑分辨率
位图:
- 最低: 300 DPI
- 推荐: 600 DPI
- 高质量: 1200 DPI
常见错误
错误 1: 使用位图格式
❌ 错误: 保存为 PNG/JPG ✅ 正确: 保存为 PDF/EPS
错误 2: 非色盲友好配色
❌ 错误: 红色和绿色组合 ✅ 正确: 使用 Okabe-Ito 配色
错误 3: 缺少误差表示
❌ 错误: 只显示均值 ✅ 正确: 添加误差条/误差带
错误 4: 坐标轴截断
❌ 错误: Y 轴从 80% 开始(夸大差异) ✅ 正确: Y 轴从 0% 开始(或说明原因)
错误 5: 图表过于复杂
❌ 错误: 一张图包含 10+ 条曲线 ✅ 正确: 拆分为多张图或使用子图
错误 6: 字体过小
❌ 错误: 标签字体 6 pt ✅ 正确: 标签字体 10-12 pt
检查清单
提交前检查:
- 使用矢量图格式(PDF/EPS)
- 配色色盲友好(Okabe-Ito 或 Paul Tol)
- 黑白打印可读(测试过)
- 包含误差条/误差带
- Caption 中说明误差类型
- 坐标轴标签清晰(包含单位)
- 图例不遮挡数据
- 字体大小适当(≥8 pt)
- 线宽适当(1.5-2.0 pt)
- Caption 独立完整
工具推荐
Python:
- matplotlib: 基础绘图
- seaborn: 统计可视化
- plotly: 交互式图表
配色工具:
- ColorBrewer: 配色方案选择
- Coblis: 色盲模拟器
格式转换:
- Inkscape: SVG 编辑和转换
- Adobe Illustrator: 专业图形编辑
参考资源
总结
论文级可视化的关键:
- 矢量图格式 - PDF/EPS
- 色盲友好 - Okabe-Ito 配色
- 误差表示 - 误差条/误差带
- 清晰标注 - 坐标轴、图例、caption
- 黑白可读 - 测试灰度打印
遵循这些原则可以创建清晰、准确、专业的论文图表。