重ね書きしたい(alt.layer
)
1hbars = alt.Chart(data).mark_bar().encode(x="time", y="events")
2marks = alt.Chart(data).mark_point().encode(x="time", y="temperature")
3hbars + marks
+
演算子を使って、同じX軸を持つalt.Chart
オブジェクトをひとつのレイヤーに重ね書きできます。
サンプルでは、時系列データのイベント数(hbars
)と気温(marks
)を表示しています。
テキストを重ねたい
1base = alt.Chart(data).encode(
2 alt.X("x").title("X軸"),
3 alt.Y("y").title("Y軸"),
4)
5
6mark = base.mark_bar()
7
8text = base.mark_text().encode(
9 alt.Text("y")
10)
11
12# mark + text
13alt.layer(
14 mark,
15 text
16)
+
演算子はalt.layer
のエイリアスです。
このサンプルでは、あるデータのヒストグラム(mark
)に、その時のエントリー数(text
)を重ねて表示しています。
2軸グラフしたい
1base = alt.Chart(data).encode(
2 alt.X("time").title("測定時刻")
3)
4
5mark1 = base.mark_bar().encode(
6 alt.Y("event_rate").title("イベントレート [Hz]").scale(domain=[0, 5]),
7)
8
9mark2 = base.mark_point().encode(
10 alt.Y("tmpC").title("気温 [℃]").scale(domain=[20, 30]),
11)
12
13alt.layer(
14 mark1,
15 mark2,
16).resolve_scale(
17 y="independent",
18)
resolve_scale
を使って、2軸グラフを作成できます。
サンプルではイベントレートと気温の時間変化を同じグラフに表示しています。
それぞれの軸の長さはalt.Scale
で調整できます。