论文绘图神器来了:一行代码绘制不同期刊格式图表,哈佛博士后开源
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.
贾浩楠 发自 凹非寺
量子位 报道 | 公众号 QbitAI
「一篇论文投多个期刊,每个期刊对图表格式要求不一,同一组数据要用多种工具分别绘图。」
不光是你,哈佛大学天文研究所的博士后,也不堪忍受 论文重复绘图 之苦。
他的解决办法是:亲自开发一个Matplotlib的补充包,增添scatter、notebook等其他软件常用的绘图工具,还支持 一键调用符合IEEE等不同期刊要求的图表格式 。
现在,这个 论文神器已经在Github开源 ,@爱可可老师 也在微博推荐,收获大量转发好评。
安装工具包
推荐使用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」:
「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技术和产品新动态
喜欢就点「在看」吧 !
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK