scatterplot / app.py
eaglelandsonce's picture
Create app.py
e2981a8 verified
Raw
History Blame Contribute Delete
927 Bytes
import gradio as gr
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme(style="dark")
def generate_plot():
# Simulate data from a bivariate Gaussian
n = 10000
mean = [0, 0]
cov = [(2, .4), (.4, .2)]
rng = np.random.RandomState(0)
x, y = rng.multivariate_normal(mean, cov, n).T
# Create the plot
fig, ax = plt.subplots(figsize=(6, 6))
sns.scatterplot(x=x, y=y, s=5, color=".15", ax=ax)
sns.histplot(x=x, y=y, bins=50, pthresh=.1, cmap="mako", ax=ax)
sns.kdeplot(x=x, y=y, levels=5, color="w", linewidths=1, ax=ax)
return fig
# Gradio interface
demo = gr.Interface(
fn=generate_plot,
inputs=[],
outputs=gr.Plot(label="Bivariate Gaussian Plot"),
title="Bivariate Distribution Visualizer",
description="Generates a scatterplot, histogram, and KDE contours from a simulated bivariate Gaussian distribution."
)
demo.launch()