我正在尝试在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”之间的区域。
提前感谢您的帮助!
答案 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)})