返回顶部
s

scientific-visualization科学可视化

Meta-skill for publication-ready figures. Use when creating journal submission figures requiring multi-panel layouts, significance annotations, error bars, colorblind-safe palettes, and specific journal formatting (Nature, Science, Cell). Orchestrates matplotlib/seaborn/plotly with publication styles. For quick exploration use seaborn or plotly directly.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.0
安全检测
已通过
415
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

scientific-visualization

科学可视化

概述

科学可视化将数据转化为清晰、准确的图形以供发表。创建包含多面板布局、误差线、显著性标记和色盲友好调色板的期刊级图表。使用matplotlib、seaborn和plotly导出为PDF/EPS/TIFF格式,用于手稿提交。

何时使用此技能

此技能应在以下情况使用:

  • - 为科学手稿创建图表或可视化
  • 准备提交期刊(Nature、Science、Cell、PLOS等)的图表
  • 确保图表对色盲友好且可访问
  • 制作风格一致的多面板图表
  • 以正确的分辨率和格式导出图表
  • 遵循特定的出版指南
  • 改进现有图表以达到出版标准
  • 创建需在彩色和灰度模式下均适用的图表

快速入门指南

基础出版级图表

python
import matplotlib.pyplot as plt
import numpy as np

应用出版风格(来自scripts/style_presets.py)

from stylepresets import applypublication_style applypublicationstyle(default)

创建合适尺寸的图表(单栏=3.5英寸)

fig, ax = plt.subplots(figsize=(3.5, 2.5))

绘制数据

x = np.linspace(0, 10, 100) ax.plot(x, np.sin(x), label=sin(x)) ax.plot(x, np.cos(x), label=cos(x))

正确标注单位

ax.set_xlabel(时间(秒)) ax.set_ylabel(振幅(mV)) ax.legend(frameon=False)

移除不必要的边框

ax.spines[top].set_visible(False) ax.spines[right].set_visible(False)

以出版格式保存(来自scripts/figure_export.py)

from figureexport import savepublication_figure savepublicationfigure(fig, figure1, formats=[pdf, png], dpi=300)

使用预配置风格

使用assets/中的matplotlib风格文件应用期刊特定风格:

python
import matplotlib.pyplot as plt

选项1:直接使用风格文件

plt.style.use(assets/nature.mplstyle)

选项2:使用style_presets.py辅助函数

from stylepresets import configurefor_journal configureforjournal(nature, figure_width=single)

现在创建图表——它们将自动匹配Nature规范

fig, ax = plt.subplots()

... 您的绘图代码 ...

使用Seaborn快速入门

对于统计图表,使用带出版风格的seaborn:

python
import seaborn as sns
import matplotlib.pyplot as plt
from stylepresets import applypublication_style

应用出版风格

applypublicationstyle(default) sns.settheme(style=ticks, context=paper, fontscale=1.1) sns.set_palette(colorblind)

创建统计比较图

fig, ax = plt.subplots(figsize=(3.5, 3)) sns.boxplot(data=df, x=treatment, y=response, order=[Control, Low, High], palette=Set2, ax=ax) sns.stripplot(data=df, x=treatment, y=response, order=[Control, Low, High], color=black, alpha=0.3, size=3, ax=ax) ax.set_ylabel(响应(μM)) sns.despine()

保存图表

from figureexport import savepublication_figure savepublicationfigure(fig, treatment_comparison, formats=[pdf, png], dpi=300)

核心原则与最佳实践

1. 分辨率与文件格式

关键要求(详见references/publication_guidelines.md):

  • - 栅格图像(照片、显微镜):300-600 DPI
  • 线条图(图表、图形):600-1200 DPI或矢量格式
  • 矢量格式(首选):PDF、EPS、SVG
  • 栅格格式:TIFF、PNG(科学数据切勿使用JPEG)

实现:
python

使用figure_export.py脚本获取正确设置


from figureexport import savepublication_figure

以多种格式和正确DPI保存

savepublicationfigure(fig, myfigure, formats=[pdf, png], dpi=300)

或按特定期刊要求保存

from figureexport import savefor_journal saveforjournal(fig, figure1, journal=nature, figure_type=combination)

2. 颜色选择——色盲可访问性

始终使用色盲友好调色板(详见references/color_palettes.md):

推荐:Okabe-Ito调色板(所有色盲类型均可区分):
python

选项1:使用assets/color_palettes.py


from colorpalettes import OKABEITOLIST, applypalette
applypalette(okabeito)

选项2:手动指定

okabe_ito = [#E69F00, #56B4E9, #009E73, #F0E442, #0072B2, #D55E00, #CC79A7, #000000] plt.rcParams[axes.propcycle] = plt.cycler(color=okabeito)

对于热图/连续数据:

  • - 使用感知均匀的颜色映射:viridis、plasma、cividis
  • 避免红-绿发散映射(改用PuOr、RdBu、BrBG)
  • 切勿使用jet或rainbow颜色映射

始终在灰度模式下测试图表以确保可解释性。

3. 排版与文本

字体指南(详见references/publication_guidelines.md):

  • - 无衬线字体:Arial、Helvetica、Calibri
  • 最终打印尺寸下的最小字号:

- 轴标签:7-9 pt
- 刻度标签:6-8 pt
- 面板标签:8-12 pt(加粗)
  • - 标签使用句首大写:Time (hours)而非TIME (HOURS)
  • 始终在括号中包含单位

实现:
python

全局设置字体


import matplotlib as mpl
mpl.rcParams[font.family] = sans-serif
mpl.rcParams[font.sans-serif] = [Arial, Helvetica]
mpl.rcParams[font.size] = 8
mpl.rcParams[axes.labelsize] = 9
mpl.rcParams[xtick.labelsize] = 7
mpl.rcParams[ytick.labelsize] = 7

4. 图表尺寸

期刊特定宽度(详见references/journal_requirements.md):

  • - Nature:单栏89 mm,双栏183 mm
  • Science:单栏55 mm,双栏175 mm
  • Cell:单栏85 mm,双栏178 mm

检查图表尺寸合规性:
python
from figureexport import checkfigure_size

fig = plt.figure(figsize=(3.5, 3)) # Nature的89 mm
checkfiguresize(fig, journal=nature)

5. 多面板图表

最佳实践:

  • - 用加粗字母标注面板:ABC(大多数期刊用大写,Nature用小写)
  • 保持所有面板风格一致
  • 尽可能沿边缘对齐面板
  • 面板之间留出足够的空白

示例实现(完整代码见references/matplotlib_examples.md):
python
from string import ascii_uppercase

fig = plt.figure(figsize=(7, 4))
gs = fig.add_gridspec(2, 2, hspace=0.4, wspace=0.4)

ax1 = fig.add_subplot(gs[0, 0])
ax2 = fig.add_subplot(gs[0, 1])

... 创建其他面板 ...

添加面板标签

for i, ax in enumerate([ax1, ax2, ...]): ax.text(-0.15, 1.05, ascii_uppercase[i], transform=ax.transAxes, fontsize=10, fontweight=bold, va=top)

常见任务

任务1:创建出版级线图

完整代码见references/matplotlib_examples.md示例1。

关键步骤:

  1. 1. 应用出版风格
  2. 为目标期刊设置合适的图表尺寸
  3. 使用色盲友好颜色
  4. 添加正确表示的误差线(SEM、SD或CI)
  5. 标注带单位的轴
  6. 移除不必要的边框

7.

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 scientific-visualization-1776119582 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 scientific-visualization-1776119582 技能

通过命令行安装

skillhub install scientific-visualization-1776119582

下载

⬇ 下载 scientific-visualization v0.1.0(免费)

文件大小: 34.78 KB | 发布时间: 2026-4-17 16:00

v0.1.0 最新 2026-4-17 16:00
- Initial release of the scientific-visualization skill.
- Provides tools for creating publication-ready figures with multi-panel layouts, error bars, statistical annotations, and colorblind-safe palettes.
- Supports journal-specific formatting (Nature, Science, Cell) and figure export in required formats (PDF, EPS, TIFF).
- Includes quick start guides, best practices, and ready-to-use style presets for matplotlib, seaborn, and plotly.
- Emphasizes accessibility, proper typography, and compliance with journal submission guidelines.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部