论文绘图神器来了:一行代码绘制不同期刊格式图表,哈佛博士后开源

新闻 前端
「一篇论文投多个期刊,每个期刊对图表格式要求不一,同一组数据要用多种工具分别绘图。」不光是你,哈佛大学天文研究所的博士后,也不堪忍受论文重复绘图之苦。

 [[331463]]

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

「一篇论文投多个期刊,每个期刊对图表格式要求不一,同一组数据要用多种工具分别绘图。」

不光是你,哈佛大学天文研究所的博士后,也不堪忍受论文重复绘图之苦。

他的解决办法是:亲自开发一个Matplotlib的补充包,增添scatter、notebook等其他软件常用的绘图工具,还支持一键调用符合IEEE等不同期刊要求的图表格式。

现在,这个论文神器已经在Github开源,@爱可可老师 也在微博推荐,收获大量转发好评。

安装工具包

推荐使用Python3环境,并且要预装Matplotlib原始包。

安装这款补充包可以通过pip用一行代码完成:

  1. pip install git+https://github.com/garrettj403/SciencePlots.git 

你也可以选择手动安装工具包,把Github上的项目克隆到本地以后,直接将*.mplstyle的所有文件放到Matplotlib的风格(style)路径下。如果不清楚具体路径,使用以下代码:

  1. import matplotlib 
  2.  
  3. print(matplotlib.get_configdir()) 

编译器会返回Matplotlib的路径,你可能还需要手动建立一个stylelib文件夹。

使用教程

调用补充包的各种风格和格式十分简单,都可以通过一行代码直接实现。

「science」是这个补充包最基本的一种风格,基本满足一般科研论文的绘图要求,代码如下:

  1. import matplotlib.pyplot as plt 
  2.  
  3. plt.style.use('science'

也可以在同一张图中使用多个不同的风格:

  1. plt.style.use(['science','ieee']) 

对于一些期刊,比如IEEE,图表的格式要求中提出要在基本格式上强调某些特定的参数(字体大小,图片宽度等),单独调用这些特殊格式要求使用如下代码:

  1. with plt.style.context(['science''ieee']): 
  2.  
  3. plt.figure() 
  4.  
  5. plt.plot(x, y) 
  6.  
  7. plt.show() 

调用指令就这么简单。

使用实例

基本风格「science」:

「science」+「grid」(网格)风格:

「ieee」风格:IEEE期刊对图表的尺寸、文字大小都有要求,同时还要求在黑白印刷时也能清晰呈现,下图是符合要求的「science」+「ieee」风格:

「science」+「scatter」(离散)风格:

Jupyter环境下的「notebook」风格:

补充包中的风格也可以和Matplotlib中的已有风格一起调用,例如「dark_background」+「science」+「 high-vis」:

此外,扩展包还提供多种绘图色彩搭配方案。

high-vis:

bright:

vibrant:

muted:

retro:

补充包默认使用Latex字体渲染,如果电脑中没有Latex,可以改用无Latex渲染模式:

  1. plt.style.use(['science','no-latex']) 

这个项目还在持续更新中,作者会不断添加不同的期刊格式,如果需要检查更新最新版本,通过这行代码实现:

  1. pip install SciencePlots 

作为科研党的你看到这款论文神器有没有心动呢?

如果它真的对你写论文有帮助,那么赶紧用起来吧。

传送门

Github项目地址:

https://github.com/garrettj403/SciencePlots

 

责任编辑:张燕妮 来源: 量子位
相关推荐

2020-04-30 10:25:37

代码Github开源

2022-09-28 10:12:50

Python代码可视化

2022-07-06 08:32:35

Python代码Matplotlib

2022-07-14 10:54:15

Python代码Matplotlib

2016-12-02 08:53:18

Python一行代码

2022-02-23 14:37:48

代码Pythonbug

2021-07-01 15:40:05

Python代码Geopandas

2022-03-03 14:32:43

数据机器学习平台

2022-12-29 20:24:07

自动绘制艺术画

2011-06-13 17:17:22

Qt 绘图 QWT

2013-02-21 15:46:32

宝德深圳博士后

2017-04-05 11:10:23

Javascript代码前端

2014-02-12 13:43:50

代码并行任务

2022-04-09 09:11:33

Python

2022-10-10 10:14:38

Python绘图库

2017-04-13 19:20:18

Python代码并行任务

2021-08-31 09:49:37

CPU执行语言

2020-08-19 10:30:25

代码Python多线程

2021-11-02 16:25:41

Python代码技巧
点赞
收藏

51CTO技术栈公众号