Plotly⑭(エラーバー)

エラーバー

Plotlyでエラーバーを表示するにはtraceerror_x属性またはerror_y属性を設定します。

設定する属性は下記の通りです。

  • type
    percent:エラー値を割合で指定
    constant:エラー値を定数で指定
    sqrt:値の平方根がエラー値となる
    data:各要素のエラー値を指定
  • symmetric
    True:対称なエラーバー
    False:非対称なエラーバー
  • array
    各要素のエラー値を指定
  • arrayminus
    エラーバーを非対称(symmetricをFalse)にした場合、各要素の負の値を指定
  • value
    エラー値を指定
  • valueminus
    エラーバーを非対称(symmetricをFalse)にした場合、エラー値の負の値を指定

以下のコードではエラー値を指定したグラフを描画しています。

[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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import numpy as np
import plotly.graph_objects as go
from plotly.subplots import make_subplots

np.random.seed(2)
x = np.arange(1, 6)
y = np.random.rand(5)

error_fig = make_subplots(rows=2, cols=2)

# エラーバーを一定の値で指定
error_fig.add_trace(
go.Scatter(
x=x,
y=y,
# エラーバーを定数で指定
error_y={"type": "constant", "value": 0.1},
),
row=1,
col=1
)
# 各要素ごとにエラーバーを指定
err_value = np.random.rand(5) * 0.1
error_fig.add_trace(
go.Scatter(
x=x,
y=y,
# 各要素のエラーバーを指定
error_x={"type": "data", "array": err_value},
),
row=1,
col=2
)
# エラーバーを正の値と負の値をそれぞれ指定
err_value_minus = np.random.rand(5) * 0.1
error_fig.add_trace(
go.Bar(
x=x,
y=y,
error_y={
"symmetric": False, # エラーバーを非対称
"type": "data",
"array": err_value,
"arrayminus": err_value_minus, # 各要素の負の値を指定
},
),
row=2,
col=1
)
error_fig.show()

[実行結果]

各グラフの説明は以下の通りです。

  • 左上の図
    Y値のエラーバーを一定の値で指定した折れ線グラフ
  • 右上の図
    各要素ごとにX値のエラーバーを指定した折れ線グラフ
  • 左下の図
    Y値のエラーバーに正の値と負の値をそれぞれ指定した棒グラフ