Plotly 箱ひげ図

Ammar Ali 2022年4月1日
Plotly 箱ひげ図

このチュートリアルでは、Plotly の box() 関数を使用して箱ひげ図を作成する方法について説明します。

Plotly 箱ひげ図

Plotly の箱ひげ図は、四分位数を介した変数の分布を表します。ボックスの端は下部と上部の四分位数を表し、ボックス内の線は中央値または 2 番目の四分位数を示します。

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 ボックスプロット

width および height 引数は、図形の幅と高さをピクセル単位で設定するために使用されます。color 引数を使用して各セルにデフォルトの色を指定し、その値をラベルに設定できます。

ボックスの向きは、orientation 引数と文字列 h を水平方向に、v を垂直方向に使用して設定できます。x_axis に log_x、y 軸に log_y を使用して軸を対数スケールに設定し、その値を true に設定できます。

notched 引数を使用してボックスの形状をノッチに設定し、その値を true に設定できます。title 引数を使用してグラフにタイトルを付けることができます。

facet_colfacet_row を使用して、個別のセルでサブプロットを作成し、それらの値を整数または文字列のリストに設定して、サブプロットのタイトルを設定できます。列間隔に facet_col_spacing を使用し、行間隔に facet_row_spacing を使用して、2つのサブプロット間の距離を設定できます。

以下のコードは、上記の引数を変更します。

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() 関数は各セルに異なる色を与えますが、color および color_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 カラーのリストである必要があります。VividLight24Dark2 などの Plotly の組み込みカラーシーケンスを使用できます。

以下のコードは、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