Spaces:
Sleeping
Sleeping
import gradio as gr | |
import pandas as pd | |
import matplotlib.pyplot as plt | |
def plot_graph(file): | |
df = pd.read_csv(file.name) | |
x_axis = 'Date' | |
y_axis = 'Count' | |
group_label = 'Species' | |
df[x_axis] = pd.to_datetime(df[x_axis]) | |
plt.figure(figsize=(10, 5)) | |
for label, group_df in df.groupby(group_label): | |
plt.plot(group_df[x_axis], group_df[y_axis], label=label) | |
plt.title(f'{y_axis} of {group_label} over {x_axis}') | |
plt.xlabel(x_axis) | |
plt.ylabel(y_axis) | |
plt.legend(title=group_label) | |
plt.grid(True) | |
plt.xticks(rotation=45) | |
plot_filename = 'plot.png' | |
plt.savefig(plot_filename) | |
plt.close() | |
return plot_filename | |
# Define the Gradio interface | |
interface = gr.Interface( | |
fn=plot_graph, | |
inputs=gr.File(label="Upload CSV File"), | |
outputs=gr.Image(type="filepath", label="Generated Graph"), | |
title="Tabular Data Plotter" | |
) | |
interface.launch() | |