用途
Scientific Visualization 是一个用于生成符合期刊投稿要求的科学图表的元技能。它将数据转化为清晰、准确的出版级图表,支持多面板布局、误差棒、显著性标记和无障碍配色方案,并可导出为 PDF、EPS、TIFF 等格式,主要面向使用 matplotlib、seaborn 和 plotly 的科研写作场景。
适用时机
该技能适用于以下情况:为科学手稿创建图表或可视化;准备向期刊(Nature、Science、Cell、PLOS 等)投稿的图表;确保图表对色盲友好且无障碍;制作风格一致的多面板图表;以正确分辨率和格式导出图表;遵循特定出版指南;改进现有图表以达到出版标准;创建需要在彩色和灰度下均可解读的图表。
主要能力
分辨率与文件格式
- 栅格图像(照片、显微图像):300-600 DPI
- 线条图(图形、图表):600-1200 DPI 或矢量格式
- 矢量格式(首选):PDF、EPS、SVG
- 栅格格式:TIFF、PNG(科学数据切勿使用 JPEG)
配色与色盲无障碍
- 推荐使用 Okabe-Ito 调色板,可被各类色盲人群区分
- 热图/连续数据使用感知均匀的色图:viridis、plasma、cividis
- 避免红绿发散色图,改用 PuOr、RdBu、BrBG
- 切勿使用 jet 或 rainbow 色图
- 始终在灰度下测试图表以确保可解读性
排版与文字
- 无衬线字体:Arial、Helvetica、Calibri
- 最终印刷尺寸下的最小字号:坐标轴标签 7-9 pt,刻度标签 6-8 pt,面板标签 8-12 pt(加粗)
- 标签使用句首大写,如 "Time (hours)" 而非 "TIME (HOURS)"
- 始终在括号中包含单位
图表尺寸
- Nature:单栏 89 mm,双栏 183 mm
- Science:单栏 55 mm,双栏 175 mm
- Cell:单栏 85 mm,双栏 178 mm
多面板图表
- 使用加粗字母标注面板:A、B、C(多数期刊用大写,Nature 用小写)
- 所有面板保持一致的样式
- 尽可能沿边缘对齐面板
- 面板之间保留足够的留白
使用方式
快速开始
应用出版样式并创建图表:
import matplotlib.pyplot as plt
import numpy as np
from style_presets import apply_publication_style
apply_publication_style('default')
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('Time (seconds)')
ax.set_ylabel('Amplitude (mV)')
ax.legend(frameon=False)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
from figure_export import save_publication_figure
save_publication_figure(fig, 'figure1', formats=['pdf', 'png'], dpi=300)
使用预配置样式
import matplotlib.pyplot as plt
plt.style.use('assets/nature.mplstyle')
# 或
from style_presets import configure_for_journal
configure_for_journal('nature', figure_width='single')
使用 Seaborn
import seaborn as sns
import matplotlib.pyplot as plt
from style_presets import apply_publication_style
apply_publication_style('default')
sns.set_theme(style='ticks', context='paper', font_scale=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('Response (μM)')
sns.despine()
from figure_export import save_publication_figure
save_publication_figure(fig, 'treatment_comparison', formats=['pdf', 'png'], dpi=300)
常见任务
- 创建出版级折线图:应用出版样式、设置目标期刊尺寸、使用色盲友好颜色、添加误差棒、标注带单位的坐标轴、移除多余边框、以矢量格式保存。
- 创建多面板图表:使用 GridSpec 灵活布局、保持样式一致、添加加粗面板标签、对齐相关面板、验证最终尺寸下文字可读。
- 创建热图:使用感知均匀色图、包含带标签的色条、发散数据使用色盲安全发散色图、设置合适的中心值、测试灰度外观。
- 为特定期刊准备图表:查阅期刊要求、配置 matplotlib、创建图表、按期刊规格导出。
- 修复现有图表:检查分辨率、文件格式、颜色、字体、标签、尺寸、灰度测试、移除图表垃圾。
- 创建色盲友好可视化:使用认可的调色板、添加冗余编码(线型、标记、图案)、用色盲模拟器测试、确保灰度兼容。
统计严谨性
始终包含:误差棒(SD、SEM 或 CI,并在图注中说明)、样本量(n)、统计显著性标记(、、)、尽可能展示个体数据点。
适用场景
适用于科研人员为科学手稿创建图表、准备期刊投稿图表、制作多面板图表、确保图表无障碍访问、改进现有图表以达到出版标准等场景。
限制
资料中未提供关于该技能的具体收费、价格、平台支持范围或效果保证等信息。