mcpField
D
data-visualization

data-visualization

github.com/delphine-l数据与数据库2341 次安装24 周前更新
代码仓库

关于 data-visualization

Data Visualization Best Practices 为科学图表制作提供实践指导,适用于研究人员及需要检查或优化可视化的人士。它结合图表选择建议、常见问题参考、样式资源和导出脚本,涵盖出版图表规范与图像尺寸限制。

主要功能

  1. 01按数据类型选择图表
  2. 02检查对数轴与异常值处理
  3. 03应用色盲友好配色
  4. 04提供出版图表样式与调色板
  5. 05按期刊规范导出图表

适用场景

  1. 01制作科学论文中的图表
  2. 02排查可能误导的可视化
  3. 03优化图表布局与统计标注
  4. 04生成适合分享给 Claude 的图像

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/delphine-l/claude_global --skill data-visualization

安装后在 Claude Code 中输入/data-visualization确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

chart-recipes.md
claude-image-constraints.md
color-palettes.md
figure-descriptions.md
itol-reference.md
journal_requirements.md
pitfalls-and-troubleshooting.md
assets/
color_palettes.py
nature.mplstyle
presentation.mplstyle
publication.mplstyle
scripts/
figure_export.py
style_presets.py

详细介绍

数据可视化最佳实践

为创建达到出版标准的科学可视化、避免常见问题并提升图表清晰度提供专家指导。

何时使用此技能

  • 为科学出版物创建图表
  • 调试具有误导性或失真的可视化
  • 优化图表布局和元素尺寸
  • 根据数据特征选择合适的图表类型
  • 确保统计标注能够妥善显示
  • 生成图像,以便与 Claude 或其他 AI 工具分享

支持文件

此技能按主题整理为多个参考文件。请按需加载:

  • pitfalls-and-troubleshooting.md - 对数尺度失真、坐标变换错误、离群值处理原则、坐标轴范围优化、浮点数年份标签
  • chart-recipes.md - 时间趋势、箱线图、散点图、类别占比、堆叠面积图、样本量图例以及出版图表中离群值处理双重方法的代码示例
  • color-palettes.md - Okabe-Ito 调色板、Paul Tol 调色板、连续型/发散型配色方案,以及在 matplotlib/seaborn 中实现色盲友好配色
  • claude-image-constraints.md - Claude API 的 8000px 限制、安全图表尺寸预设、调整尺寸的辅助工具、Jupyter notebook 超大图像修复方法
  • figure-descriptions.md - 用于撰写达到出版标准的图表说明的模板,并提供规范的统计结果报告方式
  • itol-reference.md - iTOL 数据集格式(DATASET_STYLE、DATASET_BINARY、DATASET_COLORSTRIP)、物种名称同步、故障排除
  • journal-requirements.md - 各期刊的图表规范(Nature、Science、Cell、PLOS、ACS、IEEE、Elsevier、BMC):尺寸、DPI、格式、面板标注、文件命名

资源(可在 notebook/脚本中导入)

  • assets/publication.mplstyle - 通用出版样式:plt.style.use('path/to/publication.mplstyle')
  • assets/nature.mplstyle - Nature 期刊样式(单栏 89mm、7pt 字体、600 DPI)
  • assets/presentation.mplstyle - 适用于海报和幻灯片的较大字体/线条
  • assets/color_palettes.py - 可导入的调色板定义(Okabe-Ito、Wong、Paul Tol)、apply_palette() 辅助函数、DNA 碱基颜色

脚本(辅助工具)

  • scripts/figure_export.py - save_publication_figure()、save_for_journal()、check_figure_size():根据期刊指定的 DPI/格式设置,以多种格式导出
  • scripts/style_presets.py - apply_publication_style()、configure_for_journal()、set_color_palette():一键配置期刊样式

核心原则

1. 始终检查对数尺度图表

基于 KDE 的图表(小提琴图、山峦图)在对数坐标轴上会产生失真的形状。请使用箱线图,或先对数据进行对数变换,再在线性坐标轴上绘图。详情请参阅 pitfalls-and-troubleshooting.md。

2. 先展示所有数据,再进行筛选

初始可视化默认展示所有数据点(showfliers=True)。离群值可能具有生物学意义。只有在领域专家审阅后才进行筛选,并始终记录排除项。

3. 使用色盲友好调色板

分类数据请使用 Okabe-Ito 调色板(Nature 推荐)。将颜色与标记形状结合,以提供冗余编码。切勿使用红绿配色。十六进制颜色代码和实现方法请参阅 color-palettes.md。

4. 遵守 Claude 的图像尺寸限制

与 Claude 分享的图像任一维度都不得超过 8000 像素。请使用安全图表尺寸预设和 save_figure() 辅助函数。详情请参阅 claude-image-constraints.md。

5. 谨慎放置注释

使用纯数据坐标或 ax.transAxes(0-1 范围)来定位文本。切勿混用坐标系(例如,将 ax.get_xaxis_transform() 与数据尺度的 y 值混用)。请参阅 pitfalls-and-troubleshooting.md。

图表选择快速指南

数据类型推荐图表适用场景
分布比较箱线图大型数据集、对数刻度、多组数据
分布形态直方图始终适用于对数刻度,可显示真实频率
时间趋势(少量数据点)散点图 + 回归每个时间点少于 50 个数据点,时间连续
时间趋势(大量数据点)按年份分组的箱线图数据点重叠、时间点离散
类别占比随时间变化堆叠面积图 + 堆叠条形图(双面板)同时展示相对趋势和绝对趋势
类别比较条形图、小提琴图(仅线性刻度)组均值或分布
系统发育注释iTOL 数据集使用元数据进行树形可视化

出版用图表清单

创建前
  • 选择适合色盲人士的调色板(推荐 Okabe-Ito)
  • 规划图表尺寸,确保不超过 Claude 的 8000px 限制
  • 确定面板布局(并排或堆叠)
创建过程中
  • 在图例中标注样本量:Category (n=123)
  • 使用整数年份标签:ax.xaxis.set_major_locator(plt.MaxNLocator(integer=True))
  • 添加注释时设置明确的坐标轴范围
  • 对于密集数据,缩小元素尺寸(s=25, alpha=0.5)
  • 保存时使用 bbox_inches='tight'
创建后
  • 验证图像尺寸(Claude 支持的最大尺寸为 7999x7999)
  • 检查注释是否位于绘图区域内
  • 测试色盲可访问性
  • 出版用图表的分辨率至少为 300 DPI
时间分析
  • 同时创建包含全部数据的版本和清理后的版本
  • 基于完整数据集(而非清理后的数据)计算统计量
  • 记录异常值移除方法和数据保留率
  • 使用清晰的文件命名:figure.png 与 figure_clean.png

快速参考:安全图表尺寸(300 DPI)

FIG_SIZES = {
    'single_column': (3.5, 4),      # 1050x1200 px
    'double_column': (7, 5),        # 2100x1500 px
    'full_page': (7, 9),            # 2100x2700 px
    'poster': (20, 15),             # 6000x4500 px
    'max_claude': (26, 26),         # 7800x7800 px
}

快速参考:Okabe-Ito 颜色(3 个类别)

colors = {
    'Category_A': '#0072B2',    # Blue
    'Category_B': '#E69F00',    # Orange
    'Category_C': '#CC79A7'     # Reddish Purple
}

最佳实践总结

  1. 始终检查对数刻度图表 —— 对照直方图验证基于 KDE 的图表
  2. 测试元素尺寸 —— 使用不同尺寸重新生成,以获得最佳清晰度
  3. 明确设置坐标轴范围 —— 添加注释时不要依赖自动范围
  4. 保持样式一致 —— 使用 seaborn 的上下文和样式,确保出版用图表风格一致
  5. 高 DPI —— 保存时分辨率至少为 300 DPI(dpi=300, bbox_inches='tight')
  6. 优化坐标轴范围 —— 分布被压缩时,将视图缩放至数据范围
  7. 检查图像尺寸 —— 与 Claude 分享前验证尺寸(最大为 7999x7999)
  8. 设置尺寸限制 —— 以编程方式生成图像时使用安全图表尺寸
  9. 包含异常值的时间趋势 —— 同时创建清理后的版本(用于出版)和完整版本(用于验证)
  10. 标注样本量 —— 比较图表的图例中始终显示 n=

参考资料

评论

支持 Markdown