0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

plotly で円グラフを描く

Posted at

次のようなリストを円グラフで表したい。

バンド 秒数
2GHz 30
1.5GHz 40
1.7GHz 50
700MHz 10
800MHz 20
# ラベル
labels = ['2GHz','1.5GHz','1.7GHz','700MHz','800MHz']
# ラベルに対応する値
values = [30,40,50,10,20]

fig = go.Figure()
trace = go.Pie(labels= labels, values= values, textinfo= 'percent+label')
fig.add_trace(trace)
fig.update_layout(width=500, height=500)

fig.show()

大きい順に反時計回りに並べ替えられて描画される。

newplot(20).png

色を変えてみる。

#色
colors = ['red','blue','yellow','orange','green']
trace = go.Pie(labels= labels, values= values,marker_colors=colors, textinfo= 'percent+label')

newplot(25).png

表示順は sort, direction, rotation を使用して次のように変更可能。

labels = ['2GHz','1.5GHz','1.7GHz','700MHz','800MHz']
values = [30,40,50,10,20]

fig = make_subplots(
    rows=2, cols=2,
    specs=[[{"type": "pie"}, {"type": "pie"}],
           [{"type": "pie"}, {"type": "pie"}]],
)
trace = go.Pie(labels= labels, values= values, textinfo= 'percent+label')

#同じ円グラフを4箇所に追加する。
fig.add_traces([trace,trace, trace, trace],cols=[1,2,1,2,], rows=[1,1,2,2])
fig.update_layout(width=800, height=800)

#update_traces() を用いて後から変更する。

#左上のグラフはデフォルトのまま
#sort=True, direction='counterclockwise', rotation=0
fig.update_traces(col=1,row=1, title='デフォルト')

#右上のグラフをソート無し、時計回りで表示する
fig.update_traces(col=2,row=1, sort=False, direction='clockwise', title='ソート無、時計回り')

#左下のグラフをソート無し、時計回り、90度回転で表示する
fig.update_traces(col=1,row=2, sort=False, direction='clockwise', rotation=90, title='ソート無、時計回り、90度')

#右下のグラフをソート有り、反時計回り、90度回転で表示する
fig.update_traces(col=2,row=2, sort=True, direction='counterclockwise', rotation=90, title='ソート有、反時計回り、90度')

fig.show()

newplot(24).png

rotation の動作に少しクセがある。ドキュメントには、

Instead of the first slice starting at 12 o'clock, rotate to some other angle.
(最初のスライスを 12 時から開始するかわりに、他の角度に回転させる)

とある。デフォルトの反時計回り(direction='counterclockwise') の時は1番目と2番目のパイをスライスする角度になっているが、時計回り(direction='clockwise')の時は1番目のパイの始まりの角度になっている。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?