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

栏目: IT技术 · 发布时间: 4年前

内容简介:「一篇论文投多个期刊,每个期刊对图表格式要求不一,同一组数据要用多种工具分别绘图。」不光是你,哈佛大学天文研究所的博士后,也不堪忍受他的解决办法是:亲自开发一个Matplotlib的补充包,增添scatter、notebook等其他软件常用的绘图工具,还支持

贾浩楠 发自 凹非寺

量子位 报道 | 公众号 QbitAI

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

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

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

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

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

安装工具包

推荐使用 Python 3环境,并且要预装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」:

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

「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渲染模式:

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

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

pip install SciencePlots

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

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

传送门

Github项目地址:

https://github.com/garrettj403/SciencePlots

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

— 完 —

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

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

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

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

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

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

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

喜欢就点「在看」吧 !


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Spring框架高级编程

Spring框架高级编程

约翰逊 / 蒋培 / 机械工业出版社 / 2006-4 / 59.00元

Spring框架是主要的开源应用程序开发框架,它使得Java/J2EE开发更容易、效率更高。本书不仅向读者展示了Spring能做什么?而且揭示了Spring完成这些功能的原理,解释其功能和动机,以帮助读者使用该框架的所有部分来开发成功的应用程序。本书涵盖Spring的所有特性,并且演示了如何将其构成一个连贯的整体,帮助读者理解Spring方法的基本原理、何时使用Sping以及如何效仿最佳实践。所有......一起来看看 《Spring框架高级编程》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换