Plotly Express 詳解
Plotly Express 詳解分類逐一說明 plotly.express 的用法:先講所有函式共用的參數,再依「要回答什麼問題」把三十多個繪圖函式分組介紹,最後說明樣式調整與輸出分享。每一頁都附可直接執行的程式碼,並嵌入實際產生的互動圖表。
函式總覽:依問題選圖
| 想回答的問題 | 常用函式 | 頁面 |
|---|---|---|
| 兩個數值有什麼關係?隨時間怎麼變?各類別多少? | scatter、line、bar、area |
基本圖表 |
| 資料怎麼分布?有沒有離群值? | histogram、box、violin、strip、ecdf、density_heatmap、density_contour |
分布與統計圖 |
| 各部分佔整體多少?有階層嗎? | pie、sunburst、treemap、icicle、funnel、funnel_area |
比例與階層圖 |
| 想依類別拆成小圖、或看時間演變? | 所有函式的 facet_*、animation_* 參數 |
分面與動畫 |
| 資料跟地理位置有關? | choropleth、scatter_geo、line_geo、scatter_map、line_map、density_map、choropleth_map |
地圖 |
| 三個以上變數、方向資料、影像、排程? | scatter_3d、line_3d、scatter_polar、bar_polar、scatter_ternary、scatter_matrix、parallel_coordinates、parallel_categories、imshow、timeline |
3D、極座標與進階圖表 |
本分類頁面
- 共通參數全攻略:所有
px函式共用的參數,最重要的一頁。 - 基本圖表:scatter、line、bar、area。
- 分布與統計圖:histogram、box、violin、strip、ecdf、密度圖、趨勢線。
- 比例與階層圖:pie、sunburst、treemap、icicle、funnel。
- 分面與動畫:小倍數圖與動畫。
- 地圖:geo 與 map(MapLibre 底圖)兩類地圖。
- 3D、極座標與進階圖表:多維度、極座標、影像、甘特圖。
- 樣式與客製化:模板、配色、標籤、懸停資訊、
update_*方法。 - 輸出與分享:HTML、PNG、JSON,以及接上 Dash。
- 內建資料集:
px.data的十個練習資料集。
每個函式的共同模式
所有 Plotly Express 函式都長得一樣:
fig = px.<圖表類型>(
data_frame, # 資料(DataFrame 或 dict、list)
x="欄位", y="欄位", # 位置
color="欄位", # 顏色分組或漸層
..., # 其他視覺對應與設定
)
fig.update_layout(...) # 需要時再微調
fig.show()
換圖表類型時,通常只要改函式名稱,其他參數幾乎可以照抄。例如把 px.scatter 換成 px.line 或 px.bar,color、facet_col、hover_data 都不用改。
查參數的最快方法
在 Jupyter 中輸入 px.scatter? 或 help(px.scatter) 即可看到該函式的所有參數與說明;線上版見 plotly.express API Reference。
推薦影音
Plotly Express & Dash(Plotly 官方頻道)
簡述:Plotly Express 主要作者 Nicolas Kruchten 在蒙特婁理工學院資料視覺化課程的講座錄影(2020),從設計理念講起,示範用 Plotly Express 快速探索資料,再把圖表放進 Dash 網頁應用程式。想理解「為什麼 Plotly Express 的參數要這樣設計」的人最適合看。
更多影片見 影音教學。