Plotly 學習網
Plotly Express(plotly.express,通常簡寫為 px)是 Python 繪圖套件 Plotly 的高階介面:把 pandas DataFrame 丟進去、指定哪個欄位對應到 x、y、顏色或大小,一行程式就能產生可縮放、可懸停查看數值、可匯出成網頁的互動圖表。本站以繁體中文詳細說明 Plotly Express 的用法,並彙整官方與 YouTube 上的優質影音教學。
上面這張可以互動的氣泡圖,只用了下面這一行 Plotly Express:
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
px.scatter(df, x="gdpPercap", y="lifeExp", size="pop", color="continent",
hover_name="country", log_x=True, size_max=55)
最該先懂的 20%
學 Plotly Express 不需要背幾十個函式。掌握下面四件事,就能應付八成以上的日常繪圖需求:
-
1. 長格式資料(tidy data)
Plotly Express 預期「一列一筆觀測、一欄一個變數」。資料整理對了,畫圖只是指定欄位名稱。
-
2. 一套共通參數
x、y、color、size、facet_col、hover_name、animation_frame……所有px函式都共用同一組參數名稱,學一次全部通用。 -
3. 十個最常用的圖
scatter、line、bar、histogram、box、pie、sunburst、treemap、choropleth、imshow,涵蓋比較、趨勢、分布、組成與地理五大問題。 -
4. Figure 與
update_*方法
px回傳的是go.Figure。要改標題、座標軸、圖例或線條樣式,用update_layout、update_traces、update_xaxes微調即可。
學習路線
本站依照「先打底、再展開、最後輸出」的順序安排:
| 階段 | 內容 | 頁面 |
|---|---|---|
| 1. 入門基礎 | 安裝與執行環境、Figure 結構、長格式與寬格式資料 | 入門基礎 |
| 2. 核心觀念 | 所有 px 函式共用的參數 |
共通參數全攻略 |
| 3. 各類圖表 | 基本圖表、分布統計、比例階層、分面動畫、地圖、3D 與進階圖 | Plotly Express 詳解 |
| 4. 美化與輸出 | 模板、配色、標籤、懸停資訊;存成 HTML/PNG | 樣式與客製化、輸出與分享 |
| 5. 影音補充 | 官方講座與 YouTube 精選教學 | 影音教學 |
| 6. 自我挑戰 | 用內建資料集完成練習題 | 自我挑戰練習 |
版本說明
本站內容以 Plotly 7.1(2026 年 9 月發布)為準。Plotly 7 移除了舊的 scatter_mapbox、choropleth_mapbox、density_mapbox,改用不需要 token 的 scatter_map、choropleth_map、density_map;靜態圖片輸出也只支援 Kaleido v1 以上。如果您看到舊教學使用 *_mapbox,請換成對應的 *_map 函式。
常見問題
Plotly Express 和 Plotly Graph Objects 差在哪?
Plotly Express 是高階介面,一個函式呼叫就建立整張圖,適合探索資料與大多數報表;Graph Objects(plotly.graph_objects,簡寫 go)是低階介面,要自己一條一條加入 trace 並設定版面,適合 Plotly Express 沒有提供的特殊圖形。兩者產生的都是同一種 go.Figure 物件,所以可以先用 px 畫,再用 go 的方法補細節。詳見 Figure 結構。
Plotly 和 Matplotlib 該選哪一個?
需要互動(縮放、懸停、點選圖例篩選)或要放到網頁、Dash 應用程式時,選 Plotly;需要高度客製化的論文用靜態圖,或專案已大量使用 Matplotlib/Seaborn 時,Matplotlib 仍很合適。Plotly 也能用 write_image 輸出 PNG、SVG、PDF 等靜態圖。
Plotly 要付費嗎?
不用。plotly(Python 套件)與 plotly.js 都是 MIT 授權的開源軟體,本機繪圖、存成 HTML 都不需要帳號或網路連線。Plotly 公司另有付費的 Dash Enterprise 與 Plotly Studio 等商業產品,但學習與使用 Plotly Express 不需要它們。
圖表要怎麼分享給沒有安裝 Python 的人?
用 fig.write_html("chart.html") 存成單一 HTML 檔,任何瀏覽器打開都能互動。要放進簡報或文件時,用 fig.write_image("chart.png") 存成圖片(需另外安裝 kaleido)。詳見 輸出與分享。
官方資源
- Plotly Python 官方文件:每種圖表都有範例程式碼。
- Plotly Express in Python:Plotly Express 總覽與函式列表。
- plotly.express API Reference:每個函式的完整參數說明。
- plotly.express.data:內建練習資料集。
- Troubleshooting:圖表不顯示時的排除步驟。
- Dash Python User Guide:把 Plotly 圖表做成網頁應用程式。
- Plotly Community Forum:官方社群論壇,問題多半能在這裡找到答案。
想認識唯客學院,請看 關於我們。