states = alt.selection_multi(fields=['origin_state'])
airlines = alt.selection_multi(fields=['carrier_name'])
dates = alt.selection_interval(
fields=['dep_timestamp'],
on=f'[mousedown, window:mouseup] > window:mousemove!{{0, {DEBOUNCE_MS}}}',
translate=f'[mousedown, window:mouseup] > window:mousemove!{{0, {DEBOUNCE_MS}}}',
count_filter = alt.Chart(
t[t.dep_timestamp, t.depdelay, t.origin_state, t.carrier_name],
flights_by_state = alt.Chart(
t[t.origin_state, t.carrier_name, t.dep_timestamp],
title="Total Number of Flights by State"
y=alt.Y('origin_state', sort=alt.Sort(encoding='x', order='descending')),
color=alt.condition(states, alt.ColorValue("steelblue"), alt.ColorValue("grey"))
t[t.origin_state, t.carrier_name, t.dep_timestamp],
).mark_text(dx=20).encode(
y=alt.Y('origin_state', sort=alt.Sort(encoding='x', order='descending')),
height= 2 * HEIGHT / 3.25,
carrier_delay = alt.Chart(
t[t.depdelay, t.arrdelay, t.carrier_name, t.origin_state, t.dep_timestamp],
title="Carrier Departure Delay by Arrival Delay (Minutes)"
depdelay='mean(depdelay)',
arrdelay='mean(arrdelay)',
).mark_point(filled=True, size=200).encode(
color=alt.condition(airlines, alt.ColorValue("steelblue"), alt.ColorValue("grey")),
tooltip=['carrier_name', 'depdelay', 'arrdelay']
height=2 * HEIGHT / 3.25,
t[t.depdelay, t.arrdelay, t.carrier_name, t.origin_state, t.dep_timestamp],
depdelay='mean(depdelay)',
arrdelay='mean(arrdelay)',
height=2 * HEIGHT / 3.25,
t[t.dep_timestamp, t.depdelay, t.origin_state, t.carrier_name],
title='Number of Flights by Departure Time'
'datum.dep_timestamp != null'
'yearmonthdate(dep_timestamp):T',
scale=alt.Scale(zero=False)
(count_filter | count_total) & (flights_by_state | carrier_delay) & time