本文经AI新媒体量子位授权转载(公众号ID:QbitAI),转载请联系转载来源。“一篇论文投多个期刊,每个期刊对图表格式的要求不一样,同一套数据需要用多种工具分别绘制。”不仅是哈佛大学天文研究所的博士后,受不了论文反复画的苦。他的解决方案是自己开发一个Matplotlib补充包,加入散点图、notebook等常用绘图工具,支持一键调用满足IEEE等不同期刊要求的图表格式。现在,这个论文神器已经在Github上开源了,@爱可可老师也在微博上进行了推荐,获得了很多好评。安装工具包推荐使用Python3环境,需要预装Matplotlib原版包。安装这个补充包可以通过pip一行代码完成:pipinstallgit+https://github.com/garrettj403/SciencePlots.git也可以选择手动安装工具包,将Github上的项目克隆到本地后,直接*.mplstyle的所有文件都放在Matplotlib的style路径下。如果不知道具体路径,使用如下代码:importmatplotlibprint(matplotlib.get_configdir())编译器会返回Matplotlib的路径,你可能还需要手动创建一个stylelib文件夹。使用教程调用补充包的各种样式格式非常简单,一行代码直接实现即可。“科学”是本补充包最基本的文体,基本满足一般科研论文的绘图要求。代码如下:importmatplotlib.pyplotasplt.style.use('science')也可以在同一张图中使用多个不同的样式:plt.style.use(['science','ieee'])对于一些期刊,如IEEE,图表的格式要求提出在基本格式中强调一些特定的参数(字体大小、图片宽度等),单独调用这些特殊格式需要使用如下代码:withplt.style.context(['science','ieee']):plt.figure()plt.plot(x,y)plt.show()调用说明就是这么简单。示例基本样式"science":"science"+"grid"(网格)style:"ieee"style:IEEE期刊对图表和文字的大小有要求,也要求黑白打印能清晰呈现,下图是符合要求的“science”+“ieee”风格:“science”+“scatter”(离散)风格:Jupyter环境下的“notebook”风格:补充包里的风格也可以与Matplotlib中已有的Styles相比较,如“dark_background”+“science”+“high-vis”:此外,扩展包还提供了多种绘图配色方案。high-vis:bright:vibrant:muted:retro:补充包默认使用Latex字体渲染。如果电脑没有Latex,可以切换到无Latex渲染模式:plt.style.use(['science','no-latex'])这个项目还在更新中,作者会继续添加不同的期刊格式。如果需要查看和更新??最新版本,可以通过这行代码来完成:pipinstallSciencePlots作为科研党,看到这个神器是不是心动了呢?如果它真的对你写论文有帮助,那就赶紧用吧。传送门Github项目地址:https://github.com/garrettj403/SciencePlots
