如何使用 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_line和second_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屬性來在兩個子圖之間提供間距。
廣告