Plotly 箱型圖

Ammar Ali 2022年5月14日
Plotly 箱型圖

本教程將討論使用 Plotly 的 box() 函式建立箱型圖。

Plotly 箱型圖

Plotly 中的箱型圖表示變數通過其四分位數的分佈。盒子的末端描述了下四分位數和上四分位數,而盒子內的一條線表示中位數或第二個四分位數。

我們可以使用 Plotly 的 box() 函式來建立給定資料的箱型圖。我們必須在 box() 函式中提供資料框或值和標籤來建立箱型圖。

下面的程式碼建立了一些隨機資料的箱型圖。

import plotly.express as px

labels = ['A','B','C']
value =  [[10,50,30],[20,30,60],[10,20,30],[10,10,10]]
fig = px.box(x=labels,y=value, width=500, height=400)
fig.show()

輸出:

Plotly 箱型圖

widthheight 引數用於設定圖形的寬度和高度(以畫素為單位)。我們可以使用 color 引數為每​​個單元格指定預設顏色,並將其值設定為標籤。

我們可以使用 orientation 引數和字串 h 設定盒子的方向,使用字串 h 表示水平方向,使用 v 表示垂直方向。我們可以使用 x_axis 的 log_x 和 y 軸的 log_y 將軸設定為對數比例,並將其值設定為 true。

我們可以使用 notched 引數將盒子的形狀設定為缺口,並將其值設定為 true。我們可以使用 title 引數給圖一個標題。

我們可以使用 facet_colfacet_row 建立具有單獨單元格的子圖,並將它們的值設定為整數或字串列表以設定子圖的標題。我們可以使用 facet_col_spacing 設定列間距和 facet_row_spacing 設定兩個子圖之間的距離作為行間距。

下面的程式碼更改了上面提到的引數。

import plotly.express as px

labels = ['A','B','C']
value =  [[10,50,30],[20,30,60],[10,20,30],[10,10,10]]
fig = px.box(x=labels,y=value, width=700, height=400, color=labels, notched=True, title='Plotly Box Plot',facet_col=[1,2,'b'])
fig.show()

輸出:

改變箱型圖的屬性

預設情況下,box() 函式為每個單元格賦予不同的顏色,但我們可以使用 colorcolor_discrete_map 引數設定每個單元格的顏色。我們必須在 color 引數中傳遞每個單元格標籤,然後使用 color_discrete_map 引數給每個標籤一個顏色,以更改每個單元格的顏色。如果我們沒有為標籤定義顏色,box() 函式會自動為其賦予隨機顏色。

下面的程式碼設定每個單元格的顏色。

import plotly.express as px

labels = ['A','B','C']
value =  [[10,50,30],[20,30,60],[10,20,30],[10,10,10]]
fig = px.box(x=labels,y=value, width=700, height=400, color=labels, color_discrete_map={'A':'green',
                                 'B':'cyan',
                                 'C':'yellow',})
fig.show()

輸出:

改變箱型圖的顏色

我們可以使用 color_discrete_sequence 引數更改預設顏色比例或序列以設定每個單元格的顏色。引數的值應該是有效 CSS 顏色的列表。我們可以使用 Plotly 的內建顏色序列,如 VividLight24Dark2

下面的程式碼使用 Dark2 顏色序列更改餅圖的顏色。

import plotly.express as px

labels = ['A','B','C']
value =  [[10,50,30],[20,30,60],[10,20,30],[10,10,10]]
fig = px.box(x=labels,y=value, width=700, height=400, color=labels, color_discrete_sequence=px.colors.qualitative.Dark2)
fig.show()

輸出:

改變箱型圖的顏色順序

要更改程式碼中的顏色序列,我們必須將顏色序列的名稱從 Dark2 更改為 Vivid。有關 Plotly 顏色序列的更多詳細資訊,請訪問此[連結]。

我們可以使用 fig.update_traces() 函式更新 bar() 函式的軌跡。我們可以使用 fillcolor 引數更改框的填充顏色,並將其值設定為黃色等顏色名稱。我們可以使用 opacity 引數更改框的不透明度,並將其值從 0 設定為 1。

我們可以使用 legendgrouptitle_text 引數設定圖例的標題組,並將其值設定為字串。

下面的程式碼使用 fig.update_traces() 函式改變上述的痕跡。

import plotly.express as px

labels = ['A','B','C']
value =  [[10,50,30],[20,30,60],[10,20,30],[10,10,10]]
fig = px.box(x=labels,y=value, width=700, height=400, color=labels)
fig.update_traces(fillcolor='yellow', opacity=0.8,legendgrouptitle_text='LegendTitle')

fig.show()

輸出:

改變箱形圖的軌跡

請訪問這個連結瞭解更多關於 box() 函式痕跡的細節。

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - Plotly Plot