如何使用 Python Plotly 建立子圖?


Plotly 是一個開源的 Python 庫,用於資料視覺化。它支援各種型別的圖表。在本教程中,我們將展示如何在單個圖表上顯示多個繪圖。

  • 這裡我們將使用 plotly.graph_objects 生成圖形。它包含許多方法來自定義圖表並將其呈現為 HTML 格式。

  • 我們將使用make_subplots方法新增子圖。

請按照給定的步驟使用 Python Plotly 建立子圖。

步驟 1

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

import plotly.graphs_objs as go

步驟 2

匯入 make_subplots 以建立子圖

from plotly.subplots import make_subplots

步驟 3

使用以下座標建立資料幀:

data = {
   'x':['a','b','c'],
   'y':['d','e','f'],
   'z':['a','e','i']
}
df = pd.DataFrame(data)

步驟 4

建立兩個散點圖並將它們儲存在變數first_linesecond_line中。

first_line = go.Scatter(x=df["x"], y=df["y"], name="one")
second_line = go.Scatter(x=df["x"], y=df["z"], name="two")

步驟 5

使用以及shared_yaxes設定make_subplots()方法。

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

示例

建立子圖的完整程式碼如下:

import plotly.graph_objects as go from plotly.subplots import make_subplots import pandas as pd data = { 'x':['a','b','c'], 'y':['d','e','f'], 'z':['a','e','i'] } df = pd.DataFrame(data) first_line = go.Scatter(x=df["x"], y=df["y"], name="First Plot") second_line = go.Scatter(x=df["x"], y=df["z"], name="Second Plot") fig = make_subplots(rows=1, cols=3, shared_yaxes=True, horizontal_spacing=0.10) fig.add_trace(first_line, row=1, col=1) fig.add_trace(second_line, row=1, col=2) fig.update_layout(height=400, width=716, title_text="Creating Subplots in Plotly") fig.show()

輸出

執行後,它將在瀏覽器上生成以下圖表:


我們使用了make_subplots()方法的horizontal_spacing屬性來在兩個子圖之間提供間距。

更新於: 2022年10月21日

5K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告