エラーバーしたい(mark_errorbar
)
1# tmp(気温の平均値)とtmp_std(気温の標準偏差)
2data["tmp_min"] = data["tmp"] - data["tmp_std"]
3data["tmp_max"] = data["tmp"] + data["tmp_std"]
4
5# time(時刻)をX軸にする
6base = alt.Chart(data).encode(alt.X("time"))
7
8# tmp(気温の平均値)をY軸にする
9marks = base.mark_point().encode(alt.Y("tmp"))
10
11# tmp_minとtmp_maxをエラーバーにする
12errors = base.mark_errorbar().encode(
13 alt.Y("tmp_min"),
14 alt.Y2("tmp_max"),
15)
16
17marks + errors
エラーバー付きの散布図を作成する場合は、
mark_point
とmark_errorbar
を組み合わせて使います。
mark_point
では、プロットしたい値を設定します。
``mark_errorbarでは、
alt.Yと
alt.Y2`にエラーバーの範囲を設定します。
エラーバーの取りうる範囲は、あらかじめ計算しておきます。
1def errorbars(data: pd.DataFrame, x: str, y: str, e: str):
2 copied = data.copy()
3 copied["min"] = copied[y] - copied[e]
4 copied["max"] = copied[y] + copied[e]
5
6 base = alt.Chart(data).encode(alt.X(x))
7 marks = base.mark_point().encode(alt.Y(y))
8 errors = base.mark_errorbar().encode(
9 alt.Y("min"),
10 alt.Y2("max")
11 )
12 charts = {}
13 charts["errorbars"] = marks + errors
14 charts["marks"] = marks
15 charts["errors"] = errors
16 return charts