時系列データしたい
1# 日付データのカラムをdatetimeオブジェクトに変換
2data["date"] = pd.to_datetime(data["date"])
3
4# X軸を日付データにする
5alt.Chart(data).mark_bar().encode(
6 alt.X("date:T", title="日時"),
7 alt.Y("pageview:Q", title="アクセス数"),
8)
横軸を時間にしたグラフを作る場合、横軸の値はdatetime
オブジェクトでないといけません。
日付データのエンコーディングはT
(temporal)を指定します。
日付の単位を変更したい
1alt.X("year(date):T", title="年")
2alt.X("yearmonth(date):T", title="年月")
3alt.X("yearmonthdate(date):T", title="年月日")
4alt.X("month(date):T", title="月")
5alt.X("date(date):T", title="日")
6alt.X("day(date):T", title="曜日")
7alt.X("hours(date):T", title="時")
8alt.X("minutes(date):T", title="分")
9alt.X("seconds(date):T", title="秒")
日付データから、altair
上で、時間の単位を変換できます。
詳細はTimeUnit - Altairも参照するとよいです。
ヒント
個人的には、altair
上で日付データをいろいろ操作するより、pandas
で整理したほうが、うまくいかないときのデバッグも含めて簡単だと思います。