Code
import polars as pl
import pandas as pd
import altair as alt
from vega_datasets import data as vega_dataimport polars as pl
import pandas as pd
import altair as alt
from vega_datasets import data as vega_datadata = vega_data.gapminder()
data2000 = pl.DataFrame(data).filter(pl.col("year") == 2000).to_pandas()
select_year = alt.selection_single(
name='select',
fields=['year'],
bind=alt.binding_range(min=1955, max=2005, step=5)
)
alt.Chart(data).mark_point(filled=True).encode(
alt.X('fertility:Q', title='Fertility', scale=alt.Scale(domain=[0,9])),
alt.Y('life_expect:Q', title='Life Expectancy', scale=alt.Scale(domain=[0,90])),
alt.Size('pop:Q', title='Population', scale=alt.Scale(domain=[0, 1200000000], range=[0,1000])),
alt.Color('cluster:N'),
alt.OpacityValue(0.5),
alt.Tooltip('country:N'),
alt.Order('pop:Q', sort='descending')
).add_selection(select_year).transform_filter(select_year)source = vega_data.cars()
brush = alt.selection(type='interval')
points = alt.Chart(source).mark_point().encode(
x='Horsepower:Q',
y='Miles_per_Gallon:Q',
color=alt.condition(brush, 'Origin:N', alt.value('gray'))
).add_selection(
brush
)
bars = alt.Chart(source).mark_bar().encode(
y='Origin:N',
color='Origin:N',
x='count(Origin):Q'
).transform_filter(
brush
)
alt.vconcat(points, bars, data=source)