freddyaboulton's picture
Upload folder using huggingface_hub
2ce4950 verified
import gradio as gr
from vega_datasets import data
cars = data.cars()
iris = data.iris()
# # Or generate your own fake data
# import pandas as pd
# import random
# cars_data = {
# "Name": ["car name " + f" {int(i/10)}" for i in range(400)],
# "Miles_per_Gallon": [random.randint(10, 30) for _ in range(400)],
# "Origin": [random.choice(["USA", "Europe", "Japan"]) for _ in range(400)],
# "Horsepower": [random.randint(50, 250) for _ in range(400)],
# }
# iris_data = {
# "petalWidth": [round(random.uniform(0, 2.5), 2) for _ in range(150)],
# "petalLength": [round(random.uniform(0, 7), 2) for _ in range(150)],
# "species": [
# random.choice(["setosa", "versicolor", "virginica"]) for _ in range(150)
# ],
# }
# cars = pd.DataFrame(cars_data)
# iris = pd.DataFrame(iris_data)
def scatter_plot_fn(dataset):
if dataset == "iris":
return gr.ScatterPlot(
value=iris,
x="petalWidth",
y="petalLength",
color="species",
title="Iris Dataset",
color_legend_title="Species",
x_title="Petal Width",
y_title="Petal Length",
tooltip=["petalWidth", "petalLength", "species"],
caption="",
)
else:
return gr.ScatterPlot(
value=cars,
x="Horsepower",
y="Miles_per_Gallon",
color="Origin",
tooltip=["Name"],
title="Car Data",
y_title="Miles per Gallon",
color_legend_title="Origin of Car",
caption="MPG vs Horsepower of various cars",
)
with gr.Blocks() as scatter_plot:
with gr.Row():
with gr.Column():
dataset = gr.Dropdown(choices=["cars", "iris"], value="cars")
with gr.Column():
plot = gr.ScatterPlot()
dataset.change(scatter_plot_fn, inputs=dataset, outputs=plot)
scatter_plot.load(fn=scatter_plot_fn, inputs=dataset, outputs=plot)
if __name__ == "__main__":
scatter_plot.launch()