Plotly⑪(ヒストグラム)

ヒストグラム

Plotlyでヒストグラムを描画するにはHistogramクラスを使います。

Histgramクラスの引数 xにはリストなどのデータを設定します。(11~12行目)

以下のコードでは、正規分布に従う乱数を生成しヒストグラムを描画しています。

右図にはヒストグラムの階級(ビン)の数を50に設定し、横向きに描画します。

引数 yにデータを渡すと横向きになり(18行目)、引数 nbinsyに自然数を渡すと階級(ビン)を変更できます(20行目)。

[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
import numpy as np
import plotly.graph_objects as go
from plotly.subplots import make_subplots

np.random.seed(1)
data0 = np.random.normal(10, 1, 10000)
data1 = np.random.normal(12, 1.5, 10000)
histogram_fig = make_subplots(rows=1, cols=2)

# 左図
histogram_fig.add_trace(go.Histogram(x=data0, name="data0"), row=1, col=1)
histogram_fig.add_trace(go.Histogram(x=data1, name="data1"), row=1, col=1)

# 右図
histogram_fig.add_trace(go.Histogram(y=data0, name="data0"), row=1, col=2)
histogram_fig.add_trace(
go.Histogram(
y=data1, # 引数yで横向き
name="data1",
nbinsy=50 # ビンの数を変更
),
row=1,
col=2
)
histogram_fig.show()

[実行結果]

ヒストグラムを積み上げるにはLayoutクラス引数 barmode“stack”を設定します。(3行目)

以下のコードでは、data0の上にdata1のヒストグラムを積み上げて描画しています。

[Google Colaboratory]

1
2
3
4
go.Figure(
[go.Histogram(x=data0, name="data0"), go.Histogram(x=data1, name="data1")],
layout=go.Layout(barmode="stack"), # ヒストグラムを積み上げ
).show()

[実行結果]