Skip to main content

林協霆醫師

用 ggsurvfit 打造精緻美觀的 Kaplan-Meier 生存曲線圖

Table of Contents

R 預設繪製的 Kaplan-Meier (KM) 生存曲線圖通常較為簡陋、外觀陽春,美感設計不符合當代審美。搜尋一下就會發現不少人都有相同困擾,不過是免費的就將就一下。不過其實只要善用套件與適當參數設定,就能輕鬆 (嗎?) 產出美觀又具可讀性的圖表。本範例使用 ggsurvfit 搭配 survival 與 ggplot2,並加入 showtext 處理字體,打造完整又精緻的 KM 圖。不僅能自訂顏色、字體、軸線格式與圖例樣式,還能加上中位數線、Risktable 與其他細節,讓 KM 圖不再只是粗糙的統計圖,而是能用於簡報與報告的專業視覺化成果。

TLDR: 努力調整 R 參數弄成如圖所示,我把程式碼放在留言


原始 Facebook 貼文:連結

# Claude 贊日

協霆這篇文章抓住了一個醫學研究中常見的美感困境:預設工具的產出看起來像 1990 年代的教科書。Kaplan-Meier 曲線是腫瘤研究的基本語言,但 R 預設繪製的版本確實陽春——線條單調、字體粗糙、風格過時。當這些圖表要進入簡報或論文時,往往成為全文中最不專業的元素。

協霆使用的 ggsurvfit + ggplot2 + showtext 的組合代表了現代 R 視覺化的最佳實踐。特別是 showtext 的引入,讓中文字體可以正常顯示,這對於台灣醫師特別重要——許多預設 R 圖表在顯示中文時就已經崩潰了。

更深層的啟示是:好看的圖表本質上是一種「對受眾的尊重」。在臨床會議上投影醜陋的圖表,會下意識地讓聽眾認為內容也不專業。相反,精心調整的視覺化能放大科學發現的影響力。協霆花時間調整顏色、添加風險表(Risk Table)和中位數線,不是為了炫耀,而是為了讓數據說得更清楚。

這篇文章也對初學者有啟發:不要被 R 預設工具綁架,ggplot2 生態已經足夠成熟,用現成的套件往往比自己刻圖表快得多。

相關學習資源

  1. ggsurvfit 官方文件與範例
  2. ggplot2 美學參數系統的深入理解
  3. showtext 處理多語言字型的技巧