SciencePlots

SciencePlots的安装可以参考

Python科研论文配图绘制示例

SciencePlots 工具包和其在科研论文绘图中的应用:

问题背景

  • 挑战: 使用 Matplotlib 或 ProPlot 库绘制科研论文插图时,定制化修改字体、刻度轴、轴脊、图例等可能增加绘制时间,并忽略某些图层细节要求。

  • 解决方案: SciencePlots 工具包。

SciencePlots 工具包

  • 定义: 专门用于科研论文绘图的第三方拓展工具包。

  • 功能: 提供主流英文科技期刊(如 Nature、Science 和 IEEE 等)的 Matplotlib 图样式。

  • 安装: 通过 pip install SciencePlots 安装。

LaTeX 的安装

  • 目的: 更好地显示学术论文插图和方便后续印刷,实现 LaTeX 编写样式。

  • 步骤:

  1. 安装 MikTex 和 Ghostscript: 官方建议使用 MikTex 软件安装 LaTeX,同时安装 Ghostscript 软件。(macOS安装macTex)

  2. 添加到系统环境变量: 将软件的安装路径添加到系统环境变量中。

  3. 重启机器: 配置生效。

SciencePlots 作为一个专门的科研论文绘图工具,简化了图层属性的定制化修改,提供了与主流科技期刊一致的图样式,并支持 LaTeX 编写样式的实现,大大方便了科研人员的论文插图绘制工作。

SciencePlots 绘图示例

使用 SciencePlots 以不同绘图风格展示同一份数据:

不同绘图风格的比较

  • 目的: 展示同一份数据使用不同的绘图风格,以便比较各种风格的特点。

  • LaTeX 符号: 使用了 LaTeX 符号表示,如有特殊字体要求,可以设置不使用 LaTeX 绘图,例如 plt.style.use(['science',' no-latex'])

绘图风格示例

  • Matplotlib 默认风格:

*Matplotlib**的默认颜色主题和绘图风格*

  • Science 期刊风格:

Science 系列期刊的绘图风格

  • IEEE 期刊风格: 图 2-4-1©展示了 IEEE 期刊的绘图风格。

    IEEE 期刊的绘图风格

  • Nature 期刊风格:

Nature 期刊的绘图风格

  • vibrant 颜色主题的 Science 风格: 图 2-4-1(e)展示了使用 vibrant 颜色主题的 Science 期刊绘图风格。

使用 vibrant 颜色主题的 Science 期刊绘图风格

  • bright 颜色主题的 Science 风格: 图 2-4-1(f)展示了使用 bright 颜色主题的 Science 期刊绘图风格。

使用 bright 颜色主题的 Science 期刊绘图风格

代码:

import pandas as pd   import numpy as np   import matplotlib.pyplot as plt      def plot_errorbar(ax, data, selsect, colors):       for index, color in zip(selsect, colors):           data_selcet = data.loc[data['type'] == index, :]           x_values = data_selcet["time"].to_numpy()           y_values = data_selcet["mean"].to_numpy()           y_errors = data_selcet["sd"].to_numpy()           ax.errorbar(x=x_values, y=y_values, yerr=y_errors,                       linewidth=1, marker='o', ms=10, mew=1, mec='k', capsize=5, label=index)           ax.legend()           ax.set(xlabel='Time', ylabel='Values', xlim=(-2,40), ylim=(-8,30))      data = pd.read_excel(r"分组误差线图构建.xlsx")   selsect = ["A","B","C","D"]   colors = ["#2FBE8F","#459DFF","#FF5B9B","#FFCC37"]      # (a) Matplotlib的默认颜色主题和绘图风格   fig, ax = plt.subplots(figsize=(4,3.5), dpi=100, facecolor="w")   plot_errorbar(ax, data, selsect, colors)   plt.show()      # (b) Science系列期刊风格绘制结果   plt.style.use('science')   fig, ax = plt.subplots(figsize=(4,3.5), dpi=100, facecolor="w")   plot_errorbar(ax, data, selsect, colors)   plt.show()      # (c) IEEE期刊风格绘制结果   plt.style.use(['science', 'ieee'])   fig, ax = plt.subplots(figsize=(4,3.5), dpi=100, facecolor="w")   plot_errorbar(ax, data, selsect, colors)   plt.show()      # (d) Nature期刊风格绘制结果   plt.style.use(['science', 'nature'])   fig, ax = plt.subplots(figsize=(4,3.5), dpi=100, facecolor="w")   plot_errorbar(ax, data, selsect, colors)   plt.show()      # (e) 使用了vibrant颜色主题的Science期刊绘图风格   plt.style.use(['science', 'vibrant'])   fig, ax = plt.subplots(figsize=(4,3.5), dpi=100, facecolor="w")   plot_errorbar(ax, data, selsect, colors)   plt.show()      # (f) 使用了bright颜色主题的Science期刊绘图风格   plt.style.use(['science', 'bright'])   fig, ax = plt.subplots(figsize=(4,3.5), dpi=100, facecolor="w")   plot_errorbar(ax, data, selsect, colors)   plt.show()   

SciencePlots 库:

  • 主流英文科技期刊绘图风格模板: SciencePlots 库提供了主流英文科技期刊(如 Nature、Science 和 IEEE 等)的绘图风格模板,并能实现不同绘图风格的混合使用。

  • 全局和临时绘图风格设置:

  • 全局设置: 可通过 plt.style.use('science') 设置全局绘图风格。

  • 临时设置: 可通过以下代码临时使用绘图风格:

    pythonCopy code   with plt.style.context('science'):       plt.figure()       plt.plot(x, y)       plt.show()   
    
  • 建议使用全局设置: 在使用临时绘图风格时,特别是使用 LaTeX 字符,可能会导致绘图结果整体不协调问题,如图例、轴标签等无法使用 LaTeX 字符风格。

  • 版本更新可能影响引入方式: 引入 SciencePlots 绘图主题样式的方式可能会随着版本的更新有所不同,因此读者应查看 SciencePlots 官网,使用其最新的引入方式。

---------------------------END---------------------------

题外话

当下这个大数据时代不掌握一门编程语言怎么跟的上脚本呢?当下最火的编程语言Python前景一片光明!如果你也想跟上时代提升自己那么请看一下.

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。


👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述
👉 CSDN大礼包:gift::[全网最全《Python学习资料》免费赠送:free:!](https://blog.csdn.net/weixin_68789096/article/details/132275547?spm=1001.2014.3001.5502) (安全链接,放心点击)

若有侵权,请联系删除

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐