带初始日期范围的区间选择#

这是一个创建堆叠图的示例,其中可以通过与底部图表交互来选择顶部图表的域。初始选择范围是使用 Python 的原生 datetime 对象设置的。

import altair as alt
from vega_datasets import data
import datetime as dt

source = data.sp500.url

date_range = (dt.date(2007, 6, 30), dt.date(2009, 6, 30))

brush = alt.selection_interval(encodings=['x'],
                               value={'x': date_range})

base = alt.Chart(source, width=600, height=200).mark_area().encode(
    x = 'date:T',
    y = 'price:Q'
)

upper = base.encode(
    alt.X('date:T').scale(domain=brush)
)

lower = base.properties(
    height=60
).add_params(brush)

upper & lower
import altair as alt
from vega_datasets import data
import datetime as dt

source = data.sp500.url

date_range = (dt.date(2007, 6, 30), dt.date(2009, 6, 30))

brush = alt.selection_interval(encodings=['x'],
                               value={'x': date_range})

base = alt.Chart(source).mark_area().encode(
    x = 'date:T',
    y = 'price:Q'
).properties(
    width=600,
    height=200
)

upper = base.encode(
    alt.X('date:T', scale=alt.Scale(domain=brush))
)

lower = base.properties(
    height=60
).add_params(brush)

upper & lower