import vizro.actions as va
import vizro.models as vm
import vizro.plotly.express as px
from vizro import Vizro
gapminder = px.data.gapminder()
page = vm.Page(
title="Multi-select on a graph",
components=[
vm.Graph(
title="Select countries to compare",
figure=px.choropleth(gapminder.query("year == 2007"), locations="iso_alpha", color="lifeExp", custom_data="country"),
actions=va.set_control(control="country_filter", value="country"),
),
vm.Graph(
id="line_plot",
figure=px.line(gapminder, x="year", y="lifeExp", color="country")
),
],
controls=[vm.Filter(id="country_filter", column="country", targets=["line_plot"], selector=vm.Dropdown(value=[]))],
)
dashboard = vm.Dashboard(pages=[page])
Vizro().build(dashboard).run()