円グラフ
Plotlyで円グラフを描画するにはPieクラスを使います。
Pieクラスの引数 valuesにリストなどのデータを設定すると、百分率が自動で算出された円グラフが表示されます。(8行目)
また、引数 labelsに各要素のラベルを設定すると凡例やホバーツールに表示されます。
[Google Colaboratory]
1 2 3 4 5 6 7 8 9 10
| import plotly.graph_objects as go
companies = ["A社", "B社", "C社", "D社"] sales_2020 = [900, 700, 200, 100] sales_2021 = [1400, 980, 450, 380]
go.Figure( go.Pie(labels=companies, values=sales_2020), layout=go.Layout(title="売上"), ).show()
|
[実行結果]

複数の円グラフ
複数の円グラフを表示しつつ、合計値の大きさの比率で比較してみます。
Pieクラスの引数 scalegroupに文字列を渡すと、同じ文字列で指定されたtraceの合計値に応じて円グラフ全体の面積が調整されます。(13,22行目)
2つのデータの合計値を比較した円グラフを表示するコードは、下記のようになります。
[Google Colaboratory]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| from plotly.subplots import make_subplots
sales_pie_fig = make_subplots( rows=1, cols=2, specs=[[{"type": "domain"}, {"type": "domain"}]], subplot_titles=["2020年の売上", "2021年の売上"], ) sales_pie_fig.add_trace( go.Pie( labels=companies, values=sales_2020, scalegroup="sales", ), row=1, col=1, ) sales_pie_fig.add_trace( go.Pie( labels=companies, values=sales_2021, scalegroup="sales"), row=1, col=2, ) sales_pie_fig.show()
|
[実行結果]
