論文繪圖神器來(lái)了:一行代碼繪制不同期刊格式圖表,哈佛博士后開源
本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
「一篇論文投多個(gè)期刊,每個(gè)期刊對(duì)圖表格式要求不一,同一組數(shù)據(jù)要用多種工具分別繪圖?!?/p>
不光是你,哈佛大學(xué)天文研究所的博士后,也不堪忍受論文重復(fù)繪圖之苦。
他的解決辦法是:親自開發(fā)一個(gè)Matplotlib的補(bǔ)充包,增添scatter、notebook等其他軟件常用的繪圖工具,還支持一鍵調(diào)用符合IEEE等不同期刊要求的圖表格式。
現(xiàn)在,這個(gè)論文神器已經(jīng)在Github開源,@愛可可老師 也在微博推薦,收獲大量轉(zhuǎn)發(fā)好評(píng)。
安裝工具包
推薦使用Python3環(huán)境,并且要預(yù)裝Matplotlib原始包。
安裝這款補(bǔ)充包可以通過(guò)pip用一行代碼完成:
- pip install git+https://github.com/garrettj403/SciencePlots.git
你也可以選擇手動(dòng)安裝工具包,把Github上的項(xiàng)目克隆到本地以后,直接將*.mplstyle的所有文件放到Matplotlib的風(fēng)格(style)路徑下。如果不清楚具體路徑,使用以下代碼:
- import matplotlib
- print(matplotlib.get_configdir())
編譯器會(huì)返回Matplotlib的路徑,你可能還需要手動(dòng)建立一個(gè)stylelib文件夾。
使用教程
調(diào)用補(bǔ)充包的各種風(fēng)格和格式十分簡(jiǎn)單,都可以通過(guò)一行代碼直接實(shí)現(xiàn)。
「science」是這個(gè)補(bǔ)充包最基本的一種風(fēng)格,基本滿足一般科研論文的繪圖要求,代碼如下:
- import matplotlib.pyplot as plt
- plt.style.use('science')
也可以在同一張圖中使用多個(gè)不同的風(fēng)格:
- plt.style.use(['science','ieee'])
對(duì)于一些期刊,比如IEEE,圖表的格式要求中提出要在基本格式上強(qiáng)調(diào)某些特定的參數(shù)(字體大小,圖片寬度等),單獨(dú)調(diào)用這些特殊格式要求使用如下代碼:
- with plt.style.context(['science', 'ieee']):
- plt.figure()
- plt.plot(x, y)
- plt.show()
調(diào)用指令就這么簡(jiǎn)單。
使用實(shí)例
基本風(fēng)格「science」:
「science」+「grid」(網(wǎng)格)風(fēng)格:
「ieee」風(fēng)格:IEEE期刊對(duì)圖表的尺寸、文字大小都有要求,同時(shí)還要求在黑白印刷時(shí)也能清晰呈現(xiàn),下圖是符合要求的「science」+「ieee」風(fēng)格:
「science」+「scatter」(離散)風(fēng)格:
Jupyter環(huán)境下的「notebook」風(fēng)格:
補(bǔ)充包中的風(fēng)格也可以和Matplotlib中的已有風(fēng)格一起調(diào)用,例如「dark_background」+「science」+「 high-vis」:
此外,擴(kuò)展包還提供多種繪圖色彩搭配方案。
high-vis:
bright:
vibrant:
muted:
retro:
補(bǔ)充包默認(rèn)使用Latex字體渲染,如果電腦中沒有Latex,可以改用無(wú)Latex渲染模式:
- plt.style.use(['science','no-latex'])
這個(gè)項(xiàng)目還在持續(xù)更新中,作者會(huì)不斷添加不同的期刊格式,如果需要檢查更新最新版本,通過(guò)這行代碼實(shí)現(xiàn):
- pip install SciencePlots
作為科研黨的你看到這款論文神器有沒有心動(dòng)呢?
如果它真的對(duì)你寫論文有幫助,那么趕緊用起來(lái)吧。
傳送門
Github項(xiàng)目地址:
https://github.com/garrettj403/SciencePlots