beta / app.py
ReiderMx's picture
Update app.py
c6e1606 verified
raw
history blame
1.42 kB
import gradio as gr
import gradio as gr
import matplotlib.pyplot as plt
import io
import base64
# Definir las variables
a = 35
b = 40
c = 25
# Función para crear el gráfico de barras
def create_bar_chart(a, b, c):
# Crear el gráfico de barras
labels = ['A', 'B', 'C']
values = [a, b, c]
fig, ax = plt.subplots()
ax.bar(labels, values, color=['#ff9999','#66b3ff','#99ff99'])
# Añadir etiquetas y título
ax.set_ylabel('Valores')
ax.set_title('Gráfico de Barras')
# Guardar el gráfico en un buffer de memoria
buf = io.BytesIO()
plt.savefig(buf, format='png')
buf.seek(0)
img_base64 = base64.b64encode(buf.read()).decode('utf-8')
buf.close()
plt.close() # Cerrar la figura para liberar recursos
return img_base64
# Función para utilizar en Gradio
def gradio_interface(a, b, c):
img_base64 = create_bar_chart(a, b, c)
return img_base64
# Configurar la interfaz de Gradio
demo = gr.Interface(
fn=gradio_interface,
inputs=[
gr.Number(name="a", label="Valor A", default=a),
gr.Number(name="b", label="Valor B", default=b),
gr.Number(name="c", label="Valor C", default=c)
],
outputs=gr.Image(label="Gráfico de Barras"),
title="Generador de Gráficos de Barras",
description="Genera un gráfico de barras basado en los valores de A, B y C"
)
demo.launch(share=True)