Introducir valores y graficar
Permite al usuario introducir valores separados por comas. Estos valores se utilizarán para graficar un gráfico de barras.
import tkinter as tk
from tkinter import messagebox
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
def graficar():
# Obtener los datos del campo de entrada y convertirlos en una lista de enteros
try:
datos = list(map(int, entry_datos.get().split(',')))
# Crear una nueva figura con Matplotlib
fig, ax = plt.subplots()
ax.bar(range(len(datos)), datos) # Crear un gráfico de barras
ax.set_title("Gráfico de Barras")
ax.set_xlabel("Índice")
ax.set_ylabel("Valor")
# Mostrar la figura en el canvas de Tkinter
canvas = FigureCanvasTkAgg(fig, master=ventana) # Crear un área de dibujo de Matplotlib en la ventana de Tkinter
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=True)
except ValueError:
messagebox.showerror("Error", "Por favor, introduce una lista de números enteros separados por comas.")
# Crear la ventana principal de Tkinter
ventana = tk.Tk()
ventana.title("Mi primer Ejercicio: Graficar datos")
# la hacemos de dimensiones fijas
ventana.resizable(False, False)
# ancho y alto de la ventana
ventana.geometry("1050x450")
# Crear un campo de entrada para los datos
entry_datos = tk.Entry(ventana)
entry_datos.pack(side=tk.TOP, padx=10, pady=10)
# Crear un botón para graficar los datos
boton_graficar = tk.Button(ventana, text="Graficar", command=graficar)
boton_graficar.pack(side=tk.TOP)
ventana.mainloop()
Explicación
Explicación del Código
Importar módulos: Importamos Tkinter, Matplotlib, y
FigureCanvasTkAgg
que nos permite integrar gráficos de Matplotlib en una ventana de Tkinter.Función Graficar: Esta función toma los datos ingresados en el campo de entrada, los convierte en enteros, y luego crea un gráfico de barras. Si hay un error en la introducción de datos (por ejemplo, si los datos no son enteros válidos), se muestra un mensaje de error.
Interfaz de Usuario: La ventana tiene un campo de entrada para que los usuarios ingresen sus datos y un botón que, al ser pulsado, llama a la función
graficar()
.Matplotlib Canvas:
FigureCanvasTkAgg
es utilizado para dibujar la figura de Matplotlib en la ventana de Tkinter.
Última actualización