SciencePlots 是什么?
一句话:SciencePlots 是一套为科学绘图优化的 Matplotlib 样式集合。它把字体、字号、线宽、色彩循环、图宽(针对期刊列宽)等参数都调好了,支持多种期刊样式(列如 IEEE、Nature),也有适合笔记本展示的样式和对色盲友善的配色。还支持中文、日文、韩文等 CJK 字体配置(需要你先装好相应字体)。
它解决了哪些痛点?
- • 不用再手动调一堆 rcParams:一次设置,整个项目风格一致。
- • 直接输出适配期刊排版的图(列如 IEEE 单栏宽度),减少返修工作。
- • 黑白打印可读性更好(某些期刊只看黑白稿)。
- • 内置几种友善的色彩循环,避免“永远用那几种颜色带来的审美疲劳”。
- • 支持把 LaTeX 用在图里(当然要先装 LaTeX)。
总之:画图这件事,从“反复试样式”变成“专注内容”。
优点
- • 统一:一个团队里大家画出来的图风格一致,看起来更专业。
- • 多样:有 science、ieee、nature、notebook、各种色彩方案,组合使用也行。
- • 对论文友善:自动按期刊要求设置字号、线宽、图宽。
缺点
- • 依赖 LaTeX:想用 LaTeX 字体渲染,得先装 LaTeX 环境,Windows 用户可能要多跑几步。
- • CJK 字体需自行安装:中文显示好看需要安装额外字体并配置。
- • 风格不完全“万能”:有时你需要超级个性化排版,还是得改 rcParams。SciencePlots 是个很好的起点,但并非一键覆盖所有特殊需求。
安装
- • PyPI(pip,适合大多数人)
pip install SciencePlots - • conda(如果你用 conda 环境)
conda install -c conda-forge scienceplots - • 直接安装最新 GitHub 代码(想最新功能或修复)
pip install git+https://github.com/garrettj403/SciencePlots - • 或者克隆源码本地安装:
git clone https://github.com/garrettj403/SciencePlots.git
cd SciencePlots
pip install -e .
快速上手
- 1. 最基础(全局样式):
import matplotlib.pyplot as plt
import scienceplots
plt.style.use('science')
plt.plot([1,2,3],[1,4,9])
plt.xlabel('X')
plt.ylabel('Y')
plt.title('示例图')
plt.show()
- 2. 组合样式(列如想同时用 science + ieee):
plt.style.use(['science', 'ieee'])
顺序重大:后面的会覆盖前面的某些设置。
- 3. 临时使用某个样式(不改全局):
with plt.style.context('science'):
plt.figure()
plt.plot(x, y)
plt.show()
- 4. 如果你要在论文中使用特定列宽(列如 IEEE 单栏),SciencePlots 已经帮你把 figure 宽度和字体设好了,直接套样式就好。
常见问题小提示
- • 字体乱码/中文不显示:先安装对应的 CJK 字体(SciencePlots Wiki 有推荐),并确保 Matplotlib 找得到。
- • 想要色盲友善配色:SciencePlots 内置了 bright 等色彩循环,直接使用即可。
- • 如果样式没生效:确认 import scienceplots 出目前 plt.style.use 之前(版本差异容易忘)。
- • 想新增期刊样式或配色:欢迎去 GitHub 提 PR,社区很开放。
总结
SciencePlots 是科研画图的 “速成套装”——省去一大堆样式折腾,让你的图更专业、更统一,尤其适合要写论文、做海报或给导师展示的人。不是万能的美工工具,但绝对是科研绘图工作流里的高效助手。想要“先画好看,再调内容”的话,强烈推荐把它放进你的 Python 绘图工具箱里。
项目地址:https://github.com/garrettj403/SciencePlots
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END
- 最新
- 最热
只看作者