首頁 >後端開發 >Python教學 >如何在Python的Plotly中為每個不同的子圖套用不同的標題?

如何在Python的Plotly中為每個不同的子圖套用不同的標題?

王林
王林轉載
2023-09-17 15:57:022755瀏覽

介紹

子圖建立是 Python 函式庫 Plotly 提供的幾種資料視覺化工具之一。一個大的敘述可以透過次要情節分解成多個較小的敘述。有時,為了賦予主要故事更大的深度和一致性,可能有必要為每個次要情節賦予自己的標題。

文法

透過使用subplot_titles參數,我們可以在繪圖網格中自訂子圖標題。 make_subplots()函數實際上是一個工廠方法,允許我們建立一個具有指定行數和列數的繪圖網格。讓我們深入了解一些我們可以透過make_subplots()操作的關鍵參數 -

  • rows − 此參數指定繪圖網格中的行數。

  • cols - 此參數指定繪圖網格中的列數。

  • specs - 一個陣列數組,用來描述網格中每個子圖的類型。 Specs 陣列中的每個元素應包含兩個值:子圖分別跨越的行數和列數,以及子圖類型。

  • subplot_titles − 一個字串數組,用於顯示網格中每個子圖的標題。此數組的大小應等於網格中子圖的數量。

在下面的程式碼中,我們將以這種方式進行操作,以便為每個子圖設定一個獨特的標題 -

fig = make_subplots(rows=1, cols=3, subplot_titles=("Subplot 1", "Subplot 2", "Subplot 3"))

Example

的中文翻譯為:

範例

在編寫實際程式碼之前,請先了解其演算法。

  • 導入必要的模組 - plotly.graph_objs 和 plotly.subplots 以及 numpy。

  • 使用numpy建立一些資料以進行繪圖。

  • 使用make_subplots函數建立一個包含1行3列的子圖網格。透過傳遞subplot_titles參數為每個子圖設定獨特的標題。

  • 使用 add_trace 方法為每個子圖新增追蹤。對於每個子圖,傳遞一個包含要繪製的資料的 go.Scatter 物件和一個用於標記資料的名稱參數。

  • 使用 update_layout 方法為整個圖表指派一個標題。

  • 使用 update_xaxes 和 update_yaxes 方法為每個子圖的 x 軸和 y 軸分配唯一的標題。

  • 使用 show 方法顯示繪圖。

import plotly.graph_objs as go
from plotly.subplots import make_subplots
import numpy as np

# Create data
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)

# Create subplots
fig = make_subplots(rows=1, cols=3, subplot_titles=("Sin(x)", "Cos(x)",
"Tan(x)"))

# Add traces
fig.add_trace(go.Scatter(x=x, y=y1, name='Sin(x)'), row=1, col=1)
fig.add_trace(go.Scatter(x=x, y=y2, name='Cos(x)'), row=1, col=2)
fig.add_trace(go.Scatter(x=x, y=y3, name='Tan(x)'), row=1, col=3)

# Assign unique titles to each subplot
fig.update_layout(title_text="Trigonometric Functions")
fig.update_xaxes(title_text="X-axis for Sin Wave", row=1, col=1)
fig.update_xaxes(title_text="X-axis for Cos Wave", row=1, col=2)
fig.update_xaxes(title_text="X-axis Tan Wave", row=1, col=3)
fig.update_yaxes(title_text="Y-axis for Sin Wave", row=1, col=1)
fig.update_yaxes(title_text="Y-axis for Cos Wave", row=1, col=2)
fig.update_yaxes(title_text="Y-axis Tan Wave", row=1, col=3)

# Display the plot
fig.show()
如何在Python的Plotly中為每個不同的子圖套用不同的標題?
  • 首先導入plotly.graph objs和plotly.subplots,因為這些是必要的函式庫。為了創建一些範例數據,我們還導入了 numpy 庫。

  • 然後使用 numpy 庫建立一些範例資料。陣列 x 的 sin、cos 和 tan 函數由我們產生的三個陣列 y1、y2 和 y3 表示。接下來,我們使用 make subplots() 方法來產生一個一行三列的子圖網格。

  • subplot titles選項也附帶一個包含三個字串值"Sin(x)", "Cos(x),"和"Tan(x)"的陣列。每個網格子圖的標題由此確定。

  • 使用add trace()函數,在建立子圖網格後,為每個子圖新增一個追蹤。對於y1、y2和y3三個數組,分別加入了散點追蹤。對於這三個追踪,我們也分別提供了name參數為"Sin(x)"、"Cos(x)"和"Tan(x)"。透過利用add trace()方法的row和col參數,我們可以為每個追蹤定義子圖。

  • 然後使用 update layout() 方法將繪圖的總標題變更為「三角函數」。

  • 現在使用 update xaxes() 和 update yaxes() 方法為每個子圖設定 x 軸和 y 軸標題,為每個子圖指定一個特殊標題。為了指示我們希望更新的子圖,我們提供 row 和 col 參數。我們也傳遞標題文字參數來設定 x 軸或 y 軸的標題。

  • 最終使用 show() 方法顯示繪圖。

結論

Plotly的make subplots()函數提供了一個實用的方法來建立子圖網格。透過使用子圖標題參數,網格中的每個子圖可以有不同的標題。除此之外,update xaxes()和update yaxes()程式允許我們為每個子圖更改x軸和y軸的名稱。

以上是如何在Python的Plotly中為每個不同的子圖套用不同的標題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除