mirror of
https://github.com/gradio-app/gradio.git
synced 2024-12-21 02:19:59 +08:00
9b42ba8f10
* changes * changes * revert changes * changes * add changeset * notebooks script * changes * changes --------- Co-authored-by: Ali Abid <aliabid94@gmail.com> Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com> Co-authored-by: Ali Abdalla <ali.si3luwa@gmail.com>
139 lines
3.6 KiB
Python
139 lines
3.6 KiB
Python
import gradio as gr
|
|
import pandas as pd
|
|
import random
|
|
|
|
simple = pd.DataFrame(
|
|
{
|
|
"a": ["A", "B", "C", "D", "E", "F", "G", "H", "I"],
|
|
"b": [28, 55, 43, 91, 81, 53, 19, 87, 52],
|
|
}
|
|
)
|
|
|
|
fake_barley = pd.DataFrame(
|
|
{
|
|
"site": [
|
|
random.choice(
|
|
[
|
|
"University Farm",
|
|
"Waseca",
|
|
"Morris",
|
|
"Crookston",
|
|
"Grand Rapids",
|
|
"Duluth",
|
|
]
|
|
)
|
|
for _ in range(120)
|
|
],
|
|
"yield": [random.randint(25, 75) for _ in range(120)],
|
|
"variety": [
|
|
random.choice(
|
|
[
|
|
"Manchuria",
|
|
"Wisconsin No. 38",
|
|
"Glabron",
|
|
"No. 457",
|
|
"No. 462",
|
|
"No. 475",
|
|
]
|
|
)
|
|
for _ in range(120)
|
|
],
|
|
"year": [
|
|
random.choice(
|
|
[
|
|
"1931",
|
|
"1932",
|
|
]
|
|
)
|
|
for _ in range(120)
|
|
],
|
|
}
|
|
)
|
|
|
|
def bar_plot_fn(display):
|
|
if display == "simple":
|
|
return gr.BarPlot(
|
|
simple,
|
|
x="a",
|
|
y="b",
|
|
title="Simple Bar Plot with made up data",
|
|
tooltip=["a", "b"],
|
|
y_lim=[20, 100],
|
|
)
|
|
elif display == "stacked":
|
|
return gr.BarPlot(
|
|
fake_barley,
|
|
x="variety",
|
|
y="yield",
|
|
color="site",
|
|
title="Barley Yield Data",
|
|
tooltip=["variety", "site"],
|
|
)
|
|
elif display == "grouped":
|
|
return gr.BarPlot(
|
|
fake_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"],
|
|
)
|
|
elif display == "simple-horizontal":
|
|
return gr.BarPlot(
|
|
simple,
|
|
x="a",
|
|
y="b",
|
|
x_title="Variable A",
|
|
y_title="Variable B",
|
|
title="Simple Bar Plot with made up data",
|
|
tooltip=["a", "b"],
|
|
vertical=False,
|
|
y_lim=[20, 100],
|
|
)
|
|
elif display == "stacked-horizontal":
|
|
return gr.BarPlot(
|
|
fake_barley,
|
|
x="variety",
|
|
y="yield",
|
|
color="site",
|
|
title="Barley Yield Data",
|
|
vertical=False,
|
|
tooltip=["variety", "site"],
|
|
)
|
|
elif display == "grouped-horizontal":
|
|
return gr.BarPlot(
|
|
fake_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"],
|
|
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()
|
|
display.change(bar_plot_fn, inputs=display, outputs=plot)
|
|
bar_plot.load(fn=bar_plot_fn, inputs=display, outputs=plot)
|
|
|
|
bar_plot.launch()
|