模型 / 資料集
ChenLiu-1996/figures4papers avatar
ChenLiu-1996/figures4papers

figures4papers:把論文圖表的製作經驗,打包成一份 AI 可讀的技能文件

My Python scripts to make high-quality figures for publications in top AI conferences and journals.

5,088 個 Star326 個 ForkPythonNOASSERTION

秒懂

它是什麼?
這是一個收錄發表於 Nature Machine Intelligence、ICML、NeurIPS 等會議論文中圖表腳本的倉庫,作者 Chen Liu 同時將繪圖慣例整理成 scientific-figure-making 技能,供 AI 編碼代理直接引用。
適合誰用?
figures4papers 適合正在撰寫 AI 會議或期刊論文、需要快速產出符合學術排版慣例圖表的研究者,尤其如果你已經使用 Cursor 或 Claude Code 等 AI 編碼代理,這份技能文件能直接縮短你與代理溝通繪圖細節的時間。不適合的對象是:你需要的是互動式圖表、複雜的客製排版,或者你的資料格式與 repo 內的範例差異過大,因為這裡的腳本多為單一論文量身打造,缺少通用 API 文件。
可以商用嗎?
請先確認。這個儲存庫使用的授權不在我們自動分類的範圍內,商用前請閱讀儲存庫中的 LICENSE 檔案。
還在維護嗎?
有在維護。儲存庫最近一次提交在 9 天前。
用什麼語言寫的?
主要是 Python(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

它解決什麼問題:論文圖表的重複勞動

學術論文的圖表製作往往佔據大量時間,而且每個會議或期刊的排版慣例不同,字型大小、色彩對比、線條粗細都需要逐一調整。figures4papers 是 Yale 計算機科學博士生 Chen Liu 的個人腳本集中地,收錄了他發表於 Nature Machine Intelligence、ICML、NeurIPS、ECCV 等場所的圖表 Python 程式碼。這些腳本涵蓋長條圖、組成分解圖、3D 球體、雷達圖、折線圖、概念圖與趨勢圖。repo 的目標讀者很明確:需要產出學術級圖表的研究者,以及想讓 AI 編碼代理協助繪圖的人。它不像一般繪圖教學那樣講解基礎語法,而是直接提供已經被頂級會議接受的成品腳本,讓使用者參考或改寫。

Repo 的實際結構:figure_* 與 skill 的雙層設計

Repository 的佈局分成兩大部分。第一是 figure_* 開頭的資料夾,每個資料夾對應一篇論文,內部包含 scripts 與 figues 子目錄,例如 figure_ImmunoStruct/figures/bars_comparison_IEDB.png 就是 ImmunoStruct 論文的比較長條圖。第二是 scientific-figure-making/ 資料夾,這不是一個 Python 套件,而是一份給 AI 代理閱讀的技能文件,內含 SKILL.md 與 references/ 下的 api.md、common-patterns.md、demos.md、design-theory.md、tutorials.md。這種設計的用意是:人類研究者可以直接翻閱 figure_* 範例,而 AI 代理則透過 SKILL.md 快速理解繪圖慣例,再從 api.md 取得函式命名與匯出規則。README 中特別提到,部分圖表並非完全用 Python 製作,例如 ImmunoStruct 的示意圖與 VIGIL 的 teaser 圖片,這些被歸類在 miscellaneous,作者坦承只是為了記錄投入的時間。

AI 技能整合的運作方式:路徑引用與 symlink 安裝

這個 repo 最特別的地方,在於它把繪圖經驗結構化成 AI 代理可以遵循的技能。使用方式有兩種。第一種是免安裝的路徑引用:在 Cursor、Claude Code 等代理中開啟 repo,然後在提示中明確要求代理閱讀 scientific-figure-making/SKILL.md 與 references/design-theory.md,代理就會依照文件中的慣例生成腳本。README 提供了一個提示範本,要求代理在指定路徑建立圖表腳本,並實作 apply_publication_style、make_* helpers、finalize_figure 等模式,最後輸出 PNG 與 PDF。第二種是 symlink 安裝:從 repo 根目錄執行 ln -s 指令,將 scientific-figure-making 連結到各代理的 skills 目錄。例如 Cursor 需要 ln -s "$(pwd)/scientific-figure-making" ~/.cursor/skills/scientific-figure-making,Claude Code 則連結到 ~/.claude/skills,Codex 連結到 ~/.codex/skills。連結後需重啟代理才能生效。這種做法不需要 pip install,也不依賴套件管理,純粹是檔案系統層級的引用。

圖表類型與視覺風格的具體線索

從 README 嵌入的圖片檔名與說明,可以推測 repo 涵蓋的圖表類型。例如 figure_ImmunoStruct 提供 quantitative comparison 的長條圖,figure_Brainteaser 提供 composition breakdown 的 brute_force 圖,figure_Dispersion 提供 3D spheres 的 illustration,figure_VIGIL 同時有雷達圖與 post-training 比較折線圖,figure_ophthal_review 則有按月份統計的趨勢圖。這些圖表對應的主題跨度從免疫結構預測到眼科回顧,顯示作者的繪圖腳本並非只服務單一領域。視覺風格方面,design-theory.md 與 api.md 應該定義了調色盤與輔助函式,但 README 本身沒有列出具體的顏色代碼或字型設定。作者在 README 中強調這些圖表發表於頂級場所,暗示其風格符合學術出版的審查標準,但 repo 內並未提供任何渲染後的 PDF 或向量檔範例,僅有 PNG 預覽。

實際使用的步驟與前置條件

要實際使用這個 repo,你不需要安裝任何套件,但需要一個能讀取 Python 腳本的環境。最直接的方式是將 repo clone 下來,開啟其中一個 figure_* 資料夾,例如 figure_VIGIL,然後執行裡面的 Python 腳本。但 README 沒有提供任何 requirements.txt 或 environment.yml,也沒有說明腳本需要 matplotlib、seaborn 或 scienceplots 等相依套件。這意味著你必須自行從 import 陳述判斷依賴,並手動安裝。若你要使用 AI 代理生成新圖表,流程是:在代理中開啟 repo,要求代理依照 SKILL.md 的慣例在 figure_PROJECT_NAME/ 建立腳本,提供輸入資料與輸出檔名,最後執行腳本並檢查匯出的 PNG 與 PDF。若是 symlink 安裝,則需先執行對應的 mkdir 與 ln -s 指令,然後重啟代理。

限制與不適用的情境

這個 repo 有幾個明顯的限制。第一,授權標示為 NOASSERTION,代表作者沒有宣告任何開源授權條款,這對想複製或改寫腳本的人來說是法律上的不確定性。第二,所有腳本都是針對特定論文資料設計的,缺乏通用化的資料介面。例如 figure_ImmunoStruct 的長條圖可能硬編碼了 IEDB 與 CEDAR 的比較數據,你無法直接套用在自己的資料上,必須修改資料載入部分。第三,README 中沒有提供任何測試或持續整合設定,腳本的正確性僅依賴作者在發表論文時的驗證,若你修改了資料格式或欄位名稱,腳本可能靜默產生錯誤的圖表。第四,這個 repo 不適合需要互動式或動態圖表的場景,所有範例都是靜態 PNG 輸出。最後,作者明言部分圖表並非完全用 Python 製作,這表示如果你想要複製那些示意圖,你仍需要其他工具如 Illustrator 或 PowerPoint。

替代方案與本質差異

學術繪圖領域有許多成熟的替代方案,最直接的是 SciencePlots 套件,它提供了一系列 matplotlib 的風格檔,讓圖表符合 IEEE、Nature 等期刊的排版要求。SciencePlots 的差異在於它只處理視覺風格,不提供任何資料處理或圖表類型的輔助函式。另一個替代方案是論文繪圖教學網站如 Matplotlib 官方 Gallery 或 seaborn 的範例集,這些資源提供大量可複製的程式碼片段,但缺乏統一的設計原則。figures4papers 的獨特之處在於它將 style 與 pattern 濃縮成一份 AI 可讀的技能文件,並搭配真實發表的案例。相較之下,SciencePlots 只是安裝一個 .mplstyle 檔案,而 figures4papers 則要求代理閱讀多份 markdown 文件並實作特定函式名稱。若你偏好傳統的複製貼上工作流,SciencePlots 更輕量;若你已經依賴 AI 代理生成程式碼,figures4papers 的結構化文件能提供更一致的輸出。

維護成本與升級考量

關於維護,repo 的最後一次 push 是 2026 年 9 月,且沒有發布任何 release,顯示這是一個個人維護的專案,更新頻率取決於作者自己的論文產出。README 中列出的論文包括 ImmunoStruct(Nature Machine Intelligence 2026),暗示 repo 會隨著新論文發表而新增 figure_* 資料夾,但沒有版本標記或變更日誌,你無法追蹤腳本是否因 matplotlib 版本升級而需要修改。升級成本方面,由於沒有相依套件鎖定,當 matplotlib 或 numpy 釋出重大更新時,舊腳本可能出現棄用警告或行為改變。此外,skill 文件中的 API(如 apply_publication_style)並非來自任何已發布的套件,而是 repo 內部的慣例,若作者日後修改這些函式名稱,所有依賴此技能的代理提示都需要同步更新。授權方面,NOASSERTION 意味著你不能假設這些程式碼可以被自由使用,即使作者在 README 中歡迎引用論文,但引用論文與複製程式碼是兩回事。若你想將這些腳本整合到自己的專案,最安全的做法是直接聯絡作者取得明確許可。

編輯結論

figures4papers 適合正在撰寫 AI 會議或期刊論文、需要快速產出符合學術排版慣例圖表的研究者,尤其如果你已經使用 Cursor 或 Claude Code 等 AI 編碼代理,這份技能文件能直接縮短你與代理溝通繪圖細節的時間。不適合的對象是:你需要的是互動式圖表、複雜的客製排版,或者你的資料格式與 repo 內的範例差異過大,因為這裡的腳本多為單一論文量身打造,缺少通用 API 文件。採用前應先確認三件事:第一,授權標示為 NOASSERTION,代表 repo 並未宣告明確授權條款,若你要複製腳本到自己的論文或軟體專案,必須先聯繫作者取得許可;第二,README 中並未列出任何相依套件版本或安裝需求,你必須自行從腳本內容推斷 matplotlib、numpy 等版本相容性;第三,技能文件中的 API 慣例(如 apply_publication_style、finalize_figure)目前只存在於參考文件與範例腳本中,尚未有獨立套件或測試保證其穩定性,使用前最好先比對 references/api.md 與實際 figure_* 資料夾內的呼叫方式,避免代理生成無法執行的程式碼。

官方來源

  1. ChenLiu-1996/figures4papers on GitHub
  2. Issues
  3. Project website
  4. README
社群筆記

社群筆記