Plotly③(棒グラフ)

棒グラフ

棒グラフを表示するにはBarクラスを使用します。

引数 orientation“h”を渡すと横向きの棒グラフになります。(14行目)

[Google Colaboratory]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import plotly.graph_objects as go
from plotly.subplots import make_subplots

bar_fig = make_subplots(rows=2, cols=2, subplot_titles=["ラベル", "座標", "横"])

# X値が文字列型の場合
bar_fig.add_trace(go.Bar(x=["a", "b", "c", "d", "e"], y=[8, 3, 5, 4, 2]), row=1, col=1)

# X値が数値型の場合
bar_fig.add_trace(go.Bar(x=[0, 1, 2, 4, 5], y=[1, 4, 2, 3, 2]), row=1, col=2)

# 横向きの棒グラフの場合
bar_fig.add_trace(
go.Bar(x=[3, 2, 1, 5], y=[1, 2, 3, 4], orientation="h"), row=2, col=1
)

bar_fig.show()

[実行結果]

棒グラフ(グループ化)

Figure関数に複数のBar traceを渡すと、グループ化した棒グラフを描画することができます。

[Google Colaboratory]

1
2
3
4
bar_trace1 = go.Bar(x=["a", "b", "c", "d", "e"], y=[3, 5, 2, 1, 6], name="group1")
bar_trace2 = go.Bar(x=["a", "b", "c", "d", "e"], y=[4, 3, 5, 2, 1], name="group2")
grouped_fig = go.Figure([bar_trace1, bar_trace2])
grouped_fig.show()

[実行結果]

棒グラフ(積み上げ)

Layoutクラスの引数 barmode“stack”を渡すと、積み上げ棒グラフを描画することができます。(3行目)

[Google Colaboratory]

1
2
3
4
5
stacked_fig = go.Figure(
[bar_trace1, bar_trace2],
layout=go.Layout(barmode="stack") # 積み上げ棒グラフにするためlayoutを設定
)
stacked_fig.show()

[実行結果]

棒グラフ(マイナス方向に積み上げ)

Layoutクラスの引数 barmode“relative”を渡すと、値が0未満の要素を下方向に積み上げて表示することができます。(4行目)

[Google Colaboratory]

1
2
3
4
5
6
bar_trace3 = go.Bar(x=["a", "b", "c", "d", "e"], y=[-2, -3, 1, -4, 2], name="group3")
relative_fig = go.Figure(
[bar_trace1, bar_trace2, bar_trace3],
layout=go.Layout(barmode="relative") # 0未満の値をした方向に積み上げるlayoutを作成
)
relative_fig.show()

[実行結果]