科学绘图
警告 : 从2.0.0版本开始,在设置样式(
plt.style.use('science')
)之前,你需要添加import scienceplots
。
用于科学图表的 Matplotlib 样式
这个仓库包含了用于格式化科学论文、演示和论文图表的 Matplotlib 样式。
你可以在这里找到所有包含样式的完整图库。
开始使用
安装 SciencePlots 最简单的方法是使用 pip
:
# 安装最新版本(从 PyPI)
pip install SciencePlots
# 安装最新版本(使用 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 .
从 v1.1.0
版本开始,需要在脚本顶部添加 import scienceplots
,以便 Matplotlib 可以使用这些样式。
注意:
- SciencePlots 需要 Latex(参见 Latex 安装说明)。
- 如果你想使用 CJK 字体,你需要单独安装这些字体(参见 CJK 字体安装说明)。
更多信息和疑难解答请参见 FAQ。
使用样式
"science"
是这个仓库中的主要样式。当你想使用它时,只需在 Python 脚本顶部添加以下内容:
import matplotlib.pyplot as plt
import scienceplots
plt.style.use('science')
你也可以通过以下方式组合多种样式:
plt.style.use(['science','ieee'])
在这种情况下,ieee
样式将覆盖 science
样式的一些参数,以便为 IEEE 论文配置图表(列宽、字体大小等)。
要临时使用任何样式,你可以使用:
with plt.style.context('science'):
plt.figure()
plt.plot(x, y)
plt.show()
示例
基本的 science
样式如下所示:
它可以与其他样式级联,以微调外观。例如,science
+ notebook
样式(适用于 Jupyter notebooks):
请查看项目 Wiki 以获取可用样式的完整列表。
学术期刊专用样式
用于 IEEE 论文的 science
+ ieee
样式:
- IEEE 要求图表在黑白打印时仍然清晰可读。
ieee
样式还将图表宽度设置为适合 IEEE 论文的一列。
用于 Nature 文章的 science
+ nature
样式:
- Nature 推荐使用无衬线字体。
其他语言
SciencePlots 目前支持:
示例:繁体中文(science
+ no-latex
+ cjk-tc-font
):
有关安装 CJK 字体的信息,请参见 FAQ。
其他颜色循环
SciencePlots 附带各种不同的颜色循环。完整列表请参见项目 Wiki。下面展示了两个例子。
bright
颜色循环(适合色盲):
high-vis
颜色循环:
帮助和贡献
欢迎为 SciencePlots 仓库做出贡献!例如,可以为不同期刊添加新样式并添加新的颜色循环。在开始新样式或进行任何更改之前,请通过 GitHub 问题追踪器 创建一个问题。这样我们可以讨论是否需要这些更改以及最佳方法。
如果你需要 SciencePlots 的任何帮助,请首先查看 FAQ 并搜索 以前的 GitHub 问题。如果找不到答案,请通过 GitHub 问题追踪器 创建一个新问题。
你可以查看 Matplotlib 的文档 以获取更多有关绘图设置的信息。
FAQ
你可以在项目 Wiki 中找到 FAQ。
学术论文中使用 SciencePlots
以下论文使用了 SciencePlots
:
-
J. D. Garrett, C.-Y. E. Tong, L. Zeng, T.-J. Chen and M.-J. Wang, "A 345 GHz Sideband-Separating Receiver Prototype with Ultra-Wide Instantaneous Bandwidth," IEEE Trans. THz Sci. Technol., vol. 13, no. 3, pp. 237-245, Mar. 2023.
-
J. Garrett, B.-K. Tan, C. Chaumont, F. Boussaha, and G. Yassin, "A 230-GHz Endfire SIS Mixer With Near Quantum-Limited Performance," IEEE Microw. Wirel. Compon. Lett., Jul. 2022. (开放获取)
-
J. Garrett, and E. Tong, "Measuring Cryogenic Waveguide Loss in the Terahertz Regime," IEEE Trans. THz Sci. Technol., vol. 12, no. 3, pp. 293-299, May 2022.
-
Y. Liu, X. Liu, and Y. Sun, "QGrain: An open-source and easy-to-use software for the comprehensive analysis of grain size distributions", Sedimentary Geology, vol. 423, 105980, Aug. 2021.
-
M. Gasanov等人,《利用作物模拟模型和历史天气数据优化灌溉的新型多目标方法》,发表于《计算科学-ICCS 2021》,波兰克拉科夫,2021年6月,第75-88页。(开放获取)
-
J. Garrett和E. Tong,《用于分析电磁波导的色散补偿算法》,《IEEE信号处理快报》,第28卷,第1175-1179页,2021年6月。
-
G. Jegannathan等人,《具有改进p-n结和增强近红外性能的电流辅助单光子雪崩二极管》,《传感器》,2020年12月。(开放获取)
-
H. Tian等人,《用于生物大分子模拟的ivis降维框架》,《化学信息与建模杂志》,2020年8月。(开放获取)
-
P. Stoltz等人,《空间电荷限制发射的新型简单算法》,《等离子体物理》,第27卷,第9期,093103,2020年9月。(开放获取)
-
J. Garrett等人,《用于模拟分布式SIS频率倍增器的非线性传输线模型》,《IEEE太赫兹科学与技术汇刊》,第10卷,第3期,第246-255页,2020年5月。(开放获取)
-
J. Garrett等人,《使用多音频谱域分析模拟230 GHz SIS混频器的行为》,《IEEE太赫兹科学与技术汇刊》,第9卷,第9期,第540-548页,2019年11月。(开放获取)
-
J. Garrett等人,《紧凑且易于制造的E面波导弯头》,《IEEE微波与无线元件快报》,第29卷,第8期,第529-531页,2019年8月。(开放获取)
-
J. Garrett,《使用宽IF带宽SIS接收机的230 GHz焦平面阵列》,牛津大学博士论文,英国牛津,2018年。(开放获取)
如果您在论文/论文中使用"SciencePlots",欢迎将其添加到列表中!
引用SciencePlots
如果您使用SciencePlots,不必引用它,但如果引用会很好:
@article{SciencePlots,
author = {John D. Garrett},
title = {{garrettj403/SciencePlots}},
month = sep,
year = 2021,
publisher = {Zenodo},
version = {1.0.9},
doi = {10.5281/zenodo.4106649},
url = {http://doi.org/10.5281/zenodo.4106649}
}