Spaces:
Sleeping
Sleeping
from datasets import load_dataset | |
import gradio as gr | |
import pandas as pd | |
import plotly.express as px | |
# Load dataset | |
ds = load_dataset("egecandrsn/weatherdata") | |
df = pd.DataFrame(ds['train']) | |
df['datetime'] = pd.to_datetime(df['datetime']) | |
# Create Graphs | |
def create_graphs(): | |
# Temperature over Time | |
fig_temp = px.line(df, x='datetime', y='temp', title='Temperature Over Time') | |
# Precipitation over Time | |
fig_precip = px.line(df, x='datetime', y='precip', title='Precipitation Over Time') | |
# Wind Speed over Time | |
fig_wind = px.line(df, x='datetime', y='windspeed', title='Wind Speed Over Time') | |
df['year'] = df['datetime'].dt.year | |
df['heat_index'] = df['temp'] + (0.55 - 0.55 * df['humidity'] / 100) * (df['temp'] - 58) | |
fig_heat = px.line(df.groupby('year')['heat_index'].mean().reset_index(), x='year', y='heat_index', title='Heat Index Over the Years') | |
# Return multiple graphs | |
return fig_temp, fig_precip, fig_wind, fig_heat | |
# Create Gradio interface | |
interface = gr.Interface( | |
fn=create_graphs, | |
inputs=None, # No input required, as we are just displaying graphs | |
outputs=[gr.Plot(), gr.Plot(), gr.Plot(), gr.Plot()], # Multiple graph outputs | |
title="Weather Data Analysis", | |
description="This app shows multiple weather analysis graphs based on the dataset." | |
) | |
# Launch the interface | |
interface.launch() |