Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from vega_datasets import data | |
| stocks = data.stocks() | |
| gapminder = data.gapminder() | |
| gapminder = gapminder.loc[ | |
| gapminder.country.isin(["Argentina", "Australia", "Afghanistan"]) | |
| ] | |
| climate = data.climate() | |
| seattle_weather = data.seattle_weather() | |
| def line_plot_fn(dataset): | |
| if dataset == "stocks": | |
| return gr.LinePlot( | |
| stocks, | |
| x="date", | |
| y="price", | |
| color="symbol", | |
| x_lim=None, | |
| y_lim=None, | |
| stroke_dash=None, | |
| tooltip=['date', 'price', 'symbol'], | |
| overlay_point=False, | |
| title="Stock Prices", | |
| stroke_dash_legend_title=None, | |
| height=300, | |
| width=500 | |
| ) | |
| elif dataset == "climate": | |
| return gr.LinePlot( | |
| climate, | |
| x="DATE", | |
| y="HLY-TEMP-NORMAL", | |
| color=None, | |
| x_lim=None, | |
| y_lim=[250, 500], | |
| stroke_dash=None, | |
| tooltip=['DATE', 'HLY-TEMP-NORMAL'], | |
| overlay_point=False, | |
| title="Climate", | |
| stroke_dash_legend_title=None, | |
| height=300, | |
| width=500 | |
| ) | |
| elif dataset == "seattle_weather": | |
| return gr.LinePlot( | |
| seattle_weather, | |
| x="date", | |
| y="temp_min", | |
| color=None, | |
| x_lim=None, | |
| y_lim=None, | |
| stroke_dash=None, | |
| tooltip=["weather", "date"], | |
| overlay_point=True, | |
| title="Seattle Weather", | |
| stroke_dash_legend_title=None, | |
| height=300, | |
| width=500 | |
| ) | |
| elif dataset == "gapminder": | |
| return gr.LinePlot( | |
| gapminder, | |
| x="year", | |
| y="life_expect", | |
| color="country", | |
| x_lim=[1950, 2010], | |
| y_lim=None, | |
| stroke_dash="cluster", | |
| tooltip=['country', 'life_expect'], | |
| overlay_point=False, | |
| title="Life expectancy for countries", | |
| stroke_dash_legend_title="Country Cluster", | |
| height=300, | |
| width=500 | |
| ) | |
| with gr.Blocks() as line_plot: | |
| with gr.Row(): | |
| with gr.Column(): | |
| dataset = gr.Dropdown( | |
| choices=["stocks", "climate", "seattle_weather", "gapminder"], | |
| value="stocks", | |
| ) | |
| with gr.Column(): | |
| plot = gr.LinePlot() | |
| dataset.change(line_plot_fn, inputs=dataset, outputs=plot) | |
| line_plot.load(fn=line_plot_fn, inputs=dataset, outputs=plot) | |
| if __name__ == "__main__": | |
| line_plot.launch() | |