10

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

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzIzNjc1NzUzMw%3D%3D&%3Bmid=2247546079&%3Bidx=4&%3Bsn=4727c26d3def2ce9d0b7074393e8201f
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

贾浩楠 发自 凹非寺

量子位 报道 | 公众号 QbitAI

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

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

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

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

eeURJjI.png!web

安装工具包

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

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

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

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

import matplotlib

print(matplotlib.get_configdir())

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

使用教程

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

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

import matplotlib.pyplot as plt

plt.style.use('science')

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

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

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

with plt.style.context(['science', 'ieee']):

plt.figure()

plt.plot(x, y)

plt.show()

调用指令就这么简单。

使用实例

基本风格「science」:

7bMBZjJ.png!web

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

yI36zuz.png!web

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

jiAjUnJ.png!web

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

rY7BBfi.png!web

Jupyter环境下的「notebook」风格:

z2Ybyeu.png!web

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

m2eQZfr.png!web

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

high-vis:

E73UVrn.png!web

bright:

BRnYbur.png!web

vibrant:

qyeyUzi.png!web

muted:

YNb2myA.png!webretro:

BbQZf2u.png!web

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

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

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

pip install SciencePlots

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

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

传送门

Github项目地址:

https://github.com/garrettj403/SciencePlots

作者系网易新闻·网易号“各有态度”签约作者

— 完 —

深入解析OceanBase数据库 | 免费报名

在阿里体系内,OceanBase数据库支撑了 支付宝、网商银行 等重要业务,已成为世界领先的数据库产品。那么其背后有哪些核心技术?

7月2号第三期直播, 蚂蚁集团OceanBase数据库资深专家--韩富晟(颜然) 将介绍数据库发展演进历史,并深入解析OceanBase实现数据库的机制。

扫码报名,可加入直播交流群,还可获取系列课程直播回放、分享PPT: 

eMzaEvN.jpg!web

量子位  QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK