天天看點

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

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

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

不光是你,哈佛大學天文研究所的博士後,也不堪忍受論文重複繪圖之苦。

他的解決辦法是:親自開發一個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           

作為科研黨的你看到這款論文神器有沒有心動呢?

如果它真的對你寫論文有幫助,那麼趕緊用起來吧。

【雲栖号線上課堂】每天都有産品技術專家分享!

課程位址:

https://yqh.aliyun.com/live

立即加入社群,與專家面對面,及時了解課程最新動态!

【雲栖号線上課堂 社群】

https://c.tb.cn/F3.Z8gvnK

原文釋出時間:2020-06-28

本文作者:賈浩楠

本文來自:“

量子位公衆号

”,了解相關資訊可以關注“公衆号QbitAI”