Spaces:
Sleeping
Sleeping
import gradio as gr | |
import pandas as pd | |
from vega_datasets import data | |
barley = data.barley() | |
simple = pd.DataFrame({ | |
'a': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'], | |
'b': [28, 55, 43, 91, 81, 53, 19, 87, 52] | |
}) | |
def bar_plot_fn(display): | |
if display == "simple": | |
return gr.BarPlot( | |
simple, | |
x="a", | |
y="b", | |
color=None, | |
group=None, | |
title="Simple Bar Plot with made up data", | |
tooltip=['a', 'b'], | |
y_lim=[20, 100], | |
x_title=None, | |
y_title=None, | |
vertical=True, | |
) | |
elif display == "stacked": | |
return gr.BarPlot( | |
barley, | |
x="variety", | |
y="yield", | |
color="site", | |
group=None, | |
title="Barley Yield Data", | |
tooltip=['variety', 'site'], | |
y_lim=None, | |
x_title=None, | |
y_title=None, | |
vertical=True, | |
) | |
elif display == "grouped": | |
return gr.BarPlot( | |
barley.astype({"year": str}), | |
x="year", | |
y="yield", | |
color="year", | |
group="site", | |
title="Barley Yield by Year and Site", | |
tooltip=["yield", "site", "year"], | |
y_lim=None, | |
x_title=None, | |
y_title=None, | |
vertical=True, | |
) | |
elif display == "simple-horizontal": | |
return gr.BarPlot( | |
simple, | |
x="a", | |
y="b", | |
color=None, | |
group=None, | |
title="Simple Bar Plot with made up data", | |
tooltip=['a', 'b'], | |
y_lim=[20, 100], | |
x_title="Variable A", | |
y_title="Variable B", | |
vertical=False, | |
) | |
elif display == "stacked-horizontal": | |
return gr.BarPlot( | |
barley, | |
x="variety", | |
y="yield", | |
color="site", | |
group=None, | |
title="Barley Yield Data", | |
tooltip=['variety', 'site'], | |
y_lim=None, | |
x_title=None, | |
y_title=None, | |
vertical=False, | |
) | |
elif display == "grouped-horizontal": | |
return gr.BarPlot( | |
barley.astype({"year": str}), | |
x="year", | |
y="yield", | |
color="year", | |
group="site", | |
title="Barley Yield by Year and Site", | |
group_title="", | |
tooltip=["yield", "site", "year"], | |
y_lim=None, | |
x_title=None, | |
y_title=None, | |
vertical=False | |
) | |
with gr.Blocks() as bar_plot: | |
with gr.Row(): | |
with gr.Column(): | |
display = gr.Dropdown( | |
choices=["simple", "stacked", "grouped", "simple-horizontal", "stacked-horizontal", "grouped-horizontal"], | |
value="simple", | |
label="Type of Bar Plot" | |
) | |
with gr.Column(): | |
plot = gr.BarPlot(show_label=False, show_actions_button=True) | |
display.change(bar_plot_fn, inputs=display, outputs=plot) | |
bar_plot.load(fn=bar_plot_fn, inputs=display, outputs=plot) | |