論文繪圖神器來了:一行代碼繪制不同期刊格式圖表,哈佛博士后開源
點擊上方“一行數(shù)據(jù)”,選擇“加為星標” 第一時間關(guān)注Python技術(shù)干貨!
賈浩楠 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI
「一篇論文投多個期刊,每個期刊對圖表格式要求不一,同一組數(shù)據(jù)要用多種工具分別繪圖。」
不光是你,哈佛大學天文研究所的博士后,也不堪忍受論文重復繪圖之苦。
他的解決辦法是:親自開發(fā)一個Matplotlib的補充包,增添scatter、notebook等其他軟件常用的繪圖工具,還支持一鍵調(diào)用符合IEEE等不同期刊要求的圖表格式。
現(xiàn)在,這個論文神器已經(jīng)在Github開源,@愛可可老師 也在微博推薦,收獲大量轉(zhuǎn)發(fā)好評。

安裝工具包
推薦使用Python3環(huán)境,并且要預裝Matplotlib原始包。
安裝這款補充包可以通過pip用一行代碼完成:
pip install git+https://github.com/garrettj403/SciencePlots.git你也可以選擇手動安裝工具包,把Github上的項目克隆到本地以后,直接將*.mplstyle的所有文件放到Matplotlib的風格(style)路徑下。如果不清楚具體路徑,使用以下代碼:
import matplotlibprint(matplotlib.get_configdir())
編譯器會返回Matplotlib的路徑,你可能還需要手動建立一個stylelib文件夾。
使用教程
調(diào)用補充包的各種風格和格式十分簡單,都可以通過一行代碼直接實現(xiàn)。
「science」是這個補充包最基本的一種風格,基本滿足一般科研論文的繪圖要求,代碼如下:
import?matplotlib.pyplot?as?pltplt.style.use('science')
也可以在同一張圖中使用多個不同的風格:
plt.style.use(['science','ieee'])對于一些期刊,比如IEEE,圖表的格式要求中提出要在基本格式上強調(diào)某些特定的參數(shù)(字體大小,圖片寬度等),單獨調(diào)用這些特殊格式要求使用如下代碼:
with plt.style.context(['science', 'ieee']):plt.figure()plt.plot(x, y)plt.show()
調(diào)用指令就這么簡單。
使用實例
基本風格「science」:

「science」+「grid」(網(wǎng)格)風格:

「ieee」風格:IEEE期刊對圖表的尺寸、文字大小都有要求,同時還要求在黑白印刷時也能清晰呈現(xiàn),下圖是符合要求的「science」+「ieee」風格:

「science」+「scatter」(離散)風格:

Jupyter環(huán)境下的「notebook」風格:

補充包中的風格也可以和Matplotlib中的已有風格一起調(diào)用,例如「dark_background」+「science」+「 high-vis」:?

此外,擴展包還提供多種繪圖色彩搭配方案。
high-vis:

bright:

vibrant:

muted:
retro:

補充包默認使用Latex字體渲染,如果電腦中沒有Latex,可以改用無Latex渲染模式:
plt.style.use(['science','no-latex'])這個項目還在持續(xù)更新中,作者會不斷添加不同的期刊格式,如果需要檢查更新最新版本,通過這行代碼實現(xiàn):
pip install SciencePlots作為科研黨的你看到這款論文神器有沒有心動呢?
如果它真的對你寫論文有幫助,那么趕緊用起來吧。
傳送門
Github項目地址:
https://github.com/garrettj403/SciencePlots
推薦閱讀
(點擊標題可跳轉(zhuǎn)閱讀)
轉(zhuǎn)了嗎 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?贊了嗎 在看嗎





