Plotly パイチャート
 
円グラフについて説明し、Plotly の pie() 関数を使用して作成します。
Plotly のパイチャート
円グラフは、さまざまな色のスライスを含む円グラフでデータを表します。円グラフの各ピースのサイズは、数値データの比率によって異なります。
円グラフは、数値データの割合を調査するために使用されます。データの割合を全体のパーセンテージとして表示します。
特定のデータで 1つの数量の比率が高い場合、そのスライスサイズとパーセンテージは、円グラフの他のスライスよりも大きくなります。指定されたデータの円グラフを作成するには、pie() 関数内にデータフレームまたは値とラベルの配列を渡す必要があります。
このコードは、いくつかのランダムデータの円グラフを作成します。
import plotly.express as px
values = [100, 200, 300]
labels = ["A", "B", "C"]
fig = px.pie(values=values, names=labels, width=400, height=400)
fig.show()
出力:

width および height 引数は、円グラフの幅と高さをピクセル単位で設定するために使用されます。hover_name 引数を使用して、各セルのホバーに表示されるテキストを設定し、テキストを含む文字列のリストを設定できます。
title 引数を使用して、円グラフのタイトルを設定できます。デフォルトでは、pie() 関数は各セルに異なる色を与えますが、color および color_discrete_map 引数を使用して各セルの色を設定できます。
color 引数内に各セルラベルを渡し、color_discrete_map 引数を使用して各ラベルに色を付けて、各セルの色を変更する必要があります。ラベルの色を定義しない場合、pie() 関数は自動的にランダムな色をラベルに与えます。
このコードは、上記の引数を変更します。
import plotly.express as px
values = [100, 200, 300, 500]
labels = ["A", "B", "C", "D"]
fig = px.pie(
    values=values,
    names=labels,
    width=400,
    height=400,
    hover_name=labels,
    title="plotly pie Chart",
    color=labels,
    color_discrete_map={"A": "green", "B": "cyan", "C": "yellow", "D": "darkblue"},
)
fig.show()
出力:

color_discrete_sequence 引数を使用して、各セルの色を設定するために使用されるデフォルトのカラースケールまたはシーケンスを変更できます。引数の値は、有効な CSS カラーのリストである必要があります。RdBu、Inferno、Jet、Hot、Rainbow、Sunset のような Plotly の組み込みカラーシーケンスを使用できます。
このコードは、Sunset カラーシーケンスを使用して円グラフの色を変更します。
import plotly.express as px
values = [100, 200, 300, 500]
labels = ["A", "B", "C", "D"]
fig = px.pie(
    values=values,
    names=labels,
    width=400,
    height=400,
    hover_name=labels,
    title="plotly pie Chart",
    color_discrete_sequence=px.colors.sequential.Sunset,
)
fig.show()
出力:

上記のコードのカラーシーケンスを変更するには、カラーシーケンスの名前を Sunset から Rainbow に変更する必要があります。Plotly のカラーシーケンスの詳細については、このリンクにアクセスしてください。
fig.update_traces() 関数を使用して、pie() 関数のトレースを更新できます。textinfo 引数を使用して、各セル内に表示されるテキストの情報を設定できます。textfont_size 引数を使用して、テキストのフォントサイズを変更できます。
marker 引数を使用して、線幅や色などのマーカープロパティを変更できます。hole 引数を使用して、円グラフ内に穴を作成してドーナツにし、その値を 0 から 1 に設定できます。
このコードは、各セル内のパーセンテージではなく値を示し、各セルの境界と凡例の境界に赤い線を追加します。
import plotly.express as px
values = [100, 200, 300, 500]
labels = ["A", "B", "C", "D"]
fig = px.pie(
    values=values,
    names=labels,
    width=400,
    height=400,
    hover_name=labels,
    title="plotly pie Chart",
    color_discrete_sequence=px.colors.sequential.Sunset,
)
fig.update_traces(
    textinfo="value",
    textfont_size=20,
    hole=0.5,
    marker=dict(line=dict(color="red", width=3)),
)
fig.show()
出力:

pie() 関数トレースの詳細については、このリンクにアクセスしてください。
