賈浩楠

發自 凹非寺

量子位 報道 | 公眾號 QbitAI

「一篇論文投多個期刊,每個期刊對圖表格式要求不一,同一組資料要用多種工具分別繪圖。」

不光是你,

哈佛大學

天文研究所的博士後,也不堪忍受

論文重複繪圖

之苦。

他的解決辦法是:親自開發一個Matplotlib的補充包,增添scatter、notebook等其他軟體常用的繪圖工具,還支援

一鍵呼叫符合IEEE等不同期刊要求的圖表格式

現在,這個

論文神器已經在Github開源

,@愛可可老師 也在微博推薦,收穫大量轉發好評。

論文繪圖神器來了:一行程式碼繪製不同期刊格式圖表,哈佛博士後開源

安裝工具包

推薦使用Python3環境,並且要預裝Matplotlib原始包。

安裝這款補充包可以透過pip用一行程式碼完成:

pip install git+https://github。com/garrettj403/SciencePlots。git

你也可以選擇手動安裝工具包,把Github上的專案克隆到本地以後,直接將*。mplstyle的所有檔案放到Matplotlib的風格(style)路徑下。如果不清楚具體路徑,使用以下程式碼:

import matplotlibprint(matplotlib。get_configdir())

編譯器會返回Matplotlib的路徑,你可能還需要手動建立一個stylelib資料夾。

使用教程

呼叫補充包的各種風格和格式十分簡單,都可以透過一行程式碼直接實現。

「science」是這個補充包最基本的一種風格,基本滿足一般科研論文的繪圖要求,程式碼如下:

import matplotlib。pyplot as pltplt。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

—完—

@量子位 · 追蹤AI技術和產品新動態

深有感觸的朋友,歡迎贊同、關注、分享三連վ‘ᴗ’ ի ❤