使用日期时,如何在Altair中具有选择间隔的初始化值?

时间:2020-04-27 23:04:19

标签: python altair

我正在尝试在Altair图中获取selection_interval的初始值,但我一直无法弄清楚。

这是一个代码段:

df = pd.DataFrame({'date': {0: '2005-03-01', 1: '2005-04-01', 2: '2005-05-02'}, 
                   'values': {0: 89.2506, 1: 109.4073, 2: 120.8222}})

interval = alt.selection_interval(encodings=['x'],init = {'x':['2005-03-01', '2005-04-01']})

alt.Chart(df).mark_line().encode(x =  alt.X('date:T'), y = alt.Y('values')).add_selection(interval)

我希望绘图初始化时突出显示“ 2005-03-01”和“ 2005-04-01”之间的区域。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

Vega-Lite似乎没有识别和转换init参数中的时间戳。您可以通过使用Pandas将日期手动转换为时间戳来解决此问题:

x_init = pd.to_datetime(['2005-03-01', '2005-04-01']).astype(int) / 1E6
interval = alt.selection_interval(encodings=['x'], init={'x':list(x_init)})