時系列データしたい

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で整理したほうが、うまくいかないときのデバッグも含めて簡単だと思います。