如何在 Python 中使用 Plotly Express 繪製帶 facets(子圖)的圖形時隱藏座標軸標題?


簡介

Plotly Express 是一個功能強大的 Python 資料視覺化庫,使使用者能夠輕鬆建立互動式和富有表現力的圖表。在使用 facets(子圖)建立圖表時,一個常見的需求是能夠隱藏每個子圖的座標軸標題。在本文中,我們將探討使用 Python 中的 Plotly Express 來實現此目的的各種方法。

語法

讓我們瞭解一下我們在以下程式碼中使用的策略的標點符號:

import plotly.express as px

fig = px.scatter(data_frame, x="x_column", y="y_column", facet_row="row_column", facet_col="col_column", ...)

演算法

  • 為了隱藏帶 facets 的 Plotly Express 圖形中的座標軸標題,我們可以按照以下逐步演算法:

  • 匯入必要的庫 - 首先,我們需要匯入所需的庫,包括 plotly.express,它允許我們建立圖形。

  • 載入資料 - 接下來,我們需要載入我們想要使用 Plotly Express 視覺化的資料。

  • 建立圖形 - 使用 px.scatter 方法,我們可以建立一個帶 facets 的散點圖。我們需要指定散點圖的 x 和 y 列,以及對資料行和列進行 facet 的列。

  • 自定義座標軸標題 - 預設情況下,Plotly Express 會根據列名自動生成座標軸標題。要隱藏座標軸標題,我們需要使用空字串覆蓋預設標題。

  • 顯示圖形 - 最後,我們可以使用 fig.show() 方法顯示圖形。

方法 1

在第一種方法中,我們修改圖形的佈局以隱藏座標軸標題。

示例

import pandas as pd
import plotly.express as px

# Step 1: Import the necessary libraries
# Step 2: Load the data
data_frame = pd.read_csv("your_dataset.csv")  # Replace "your_dataset.csv" with the path to your actual CSV file

# Step 3: Create the figure
fig = px.scatter(data_frame, x="x_column", y="y_column", facet_row="row_column", facet_col="col_column")

# Step 4: Customize the axis titles
fig.update_layout(
   xaxis_title="",
   yaxis_title=""
)

# Step 5: Show the figure
fig.show()

輸出

解釋

修改圖形佈局:

在這種方法中,我們修改圖形的佈局以隱藏帶 facets 的 Plotly Express 圖形中的座標軸標題。首先,我們匯入必要的庫,包括 pandas 和 plotly.express。然後,我們使用 pd.read_csv() 函式從 CSV 檔案載入資料,並將其儲存在 data_frame 變數中。

然後,我們使用 px.scatter 函式建立圖形。我們指定散點圖的 x 和 y 列,並使用 facet_row 和 facet_col 引數根據指定的列建立 facets。這將生成一個散點圖,其中包含每個 facet 值組合的單獨子圖。

為了隱藏座標軸標題,我們使用 fig.update_layout() 方法。在這個方法中,我們將 xaxis_title 和 yaxis_title 設定為空字串 ("") 以覆蓋預設的座標軸標題。這樣,我們就有效地從圖形中去除了座標軸標題。

最後,我們使用 fig.show() 方法顯示修改後的圖形。這將呈現帶 facets 的散點圖,其中每個子圖的座標軸標題都隱藏。

方法 2

在第二種方法中,我們將修改圖形中子圖的座標軸標題。程式碼如下:

示例

import pandas as pd
import plotly.express as px

# Step 1: Import the necessary libraries
# Step 2: Load the data
data_frame = pd.read_csv("your_dataset.csv")  # Replace "your_dataset.csv" with the path to your actual CSV file

# Step 3: Create the figure
fig = px.scatter(data_frame, x="x_column", y="y_column", facet_row="row_column", facet_col="col_column")

# Step 4: Customize the axis titles
for axis in fig.layout:
   if axis.startswith("xaxis") or axis.startswith("yaxis"):
      fig.layout[axis].title = ""

# Step 5: Show the figure
fig.show()

輸出

解釋

直接修改座標軸標題:

在這種方法中,我們直接修改 Plotly Express 圖形中每個子圖的座標軸標題。在匯入必要的庫並載入資料之後,我們使用 px.scatter 方法建立圖形,類似於方法 1。

為了隱藏子圖示題,我們迭代 fig.layout 並查詢以 "xaxis" 或 "yaxis" 開頭的軸。這些對應於圖形中每個子圖的 x 軸和 y 軸。我們使用 fig.layout[axis] 訪問每個軸,並將 title 屬性設定為空字串 ("") 以隱藏座標軸標題。

透過迴圈遍歷佈局並修改座標軸標題,我們有效地從圖形的每個子圖中刪除了標題。

最後,我們使用 fig.show() 顯示修改後的圖形,這將顯示帶 facets 的散點圖,其中每個子圖的座標軸標題都隱藏。

這兩種方法都能達到隱藏帶 facets 的 Plotly Express 圖形中座標軸標題的目的。選擇哪種方法取決於個人喜好和視覺化的具體需求。方法 1 修改圖形的整體佈局,而方法 2 直接針對每個子圖的座標軸標題。

結論

在本文中,我們探討了兩種在 Python 中隱藏帶 facets 的 Plotly Express 圖形中座標軸標題的方法。透過自定義圖形的佈局或直接修改每個子圖的座標軸標題,我們可以達到預期的效果。Plotly Express 在建立互動式圖表方面提供了靈活性和易用性,使其成為資料視覺化任務的熱門選擇。使用這些技巧,您現在可以建立視覺上吸引人的 facet 圖表,而不會出現雜亂的座標軸標題。

更新於:2023年7月27日

2000+ 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始學習
廣告