如何在 Python Plotly 中繪製多個圖表作為子圖?


Plotly 是一個用於建立圖表的開源 Python 庫。您可以使用 Plotly 中提供的功能將多個圖表設定為子圖。

在本教程中,我們將使用 **plotly.graph_objects** 生成圖表。它包含許多方法可以自定義圖表並將圖表渲染為 HTML 格式。例如,**plotly.subplots()** 方法可以用來新增子圖。

按照以下步驟使用 **Plotly express** 建立子圖。

步驟 1

匯入 **plotly.graphs_objs** 模組並將其別名為 **go**。

import plotly.graphs_objs as go

步驟 2

匯入 **make_subplots** 來建立子圖。

from plotly.subplots import make_subplots

步驟 3

建立 3 行 1 列的子圖。

fig = make_subplots(rows=3, cols=1)

步驟 4

建立 **append_trace()** 方法來追加散點圖。

fig.append_trace(go.Scatter(
   x=[1,2,3,4,5],
   y=[5,6,7,8,9],
), row=1, col=1)

fig.append_trace(go.Scatter(
   x=[3,4,5,6,7],
   y=[10,11,12,9,8],
), row=2, col=1)

fig.append_trace(go.Scatter(
   x=[4,5,6,7,8],
   y=[6,7,8,9,10]
), row=3, col=1)

步驟 5

使用 **update_layout()** 方法設定佈局大小。

fig.update_layout(height=400, width=400, title_text="Subplots")

示例

以下是將多個圖表作為子圖繪製的完整程式碼:

from plotly.subplots import make_subplots
import plotly.graph_objects as go

fig = make_subplots(rows=3, cols=1)

fig.append_trace(go.Scatter(
   x=[1,2,3,4,5],
   y=[5,6,7,8,9],
), row=1, col=1)

fig.append_trace(go.Scatter(
   x=[3,4,5,6,7],
   y=[10,11,12,9,8],
), row=2, col=1)

fig.append_trace(go.Scatter(
   x=[4,5,6,7,8],
   y=[6,7,8,9,10]
), row=3, col=1)

fig.update_layout(height=450, width=716, title_text="Subplots")
fig.show()

輸出

它將在瀏覽器上顯示以下輸出:


更新於:2022年10月7日

12K+ 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.