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()
出力:
width
および height
引数は、図形の幅と高さをピクセル単位で設定するために使用されます。color
引数を使用して各セルにデフォルトの色を指定し、その値をラベルに設定できます。
ボックスの向きは、orientation
引数と文字列 h
を水平方向に、v
を垂直方向に使用して設定できます。x_axis に log_x
、y 軸に log_y
を使用して軸を対数スケールに設定し、その値を true に設定できます。
notched
引数を使用してボックスの形状をノッチに設定し、その値を true に設定できます。title
引数を使用してグラフにタイトルを付けることができます。
facet_col
と facet_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 カラーのリストである必要があります。Vivid
、Light24
、Dark2
などの 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()
関数トレースの詳細については、このリンクにアクセスしてください。