Créer une interface graphique en Python pour visualiser les résultats de simulations peut être une tâche passionnante et éducative. Pour ce faire, nous allons utiliser la bibliothèque `tkinter`, qui est incluse par défaut avec Python. Nous allons également utiliser `matplotlib` pour générer des graphiques.
Voici un exemple de programme qui crée une interface graphique pour visualiser les résultats de simulations éoliennes :
« `python
import tkinter as tk
from tkinter import ttk
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
# Fonction pour générer des données de simulation
def generate_data():
import random
days = 30
wind_speeds = [random.randint(5, 20) for _ in range(days)]
return wind_speeds
# Fonction pour tracer le graphique
def plot_graph(data):
fig, ax = plt.subplots()
ax.plot(data, marker=’o’)
ax.set_title(‘Vitesse du vent sur 30 jours’)
ax.set_xlabel(‘Jours’)
ax.set_ylabel(‘Vitesse du vent (km/h)’)
return fig
# Fonction pour afficher les données dans un tableau
def show_data(data):
data_str = ‘, ‘.join(map(str, data))
data_label.config(text=data_str)
# Fonction pour mettre à jour l’interface graphique
def update_ui():
data = generate_data()
show_data(data)
plot_graph(data)
# Création de la fenêtre principale
root = tk.Tk()
root.title(« Visualisation des Simulations Éoliennes »)
# Création du tableau pour afficher les données
data_label = tk.Label(root, text= »Données de simulation : »)
data_label.pack()
# Création de l’espace pour le graphique
figure = plot_graph([])
canvas = FigureCanvasTkAgg(figure, master=root)
canvas.draw()
canvas.get_tk_widget().pack()
# Bouton pour mettre à jour les données
update_button = ttk.Button(root, text= »Mettre à jour les données », command=update_ui)
update_button.pack()
# Boucle principale de l’interface graphique
root.mainloop()
« `
Explication du Code
1. **Importation des Bibliothèques** :
– `tkinter` pour créer l’interface graphique.
– `matplotlib` pour générer les graphiques.
– `random` pour générer des données de simulation.
2. **Fonction `generate_data`** :
– Génère des données de simulation pour les vitesses du vent sur 30 jours.
3. **Fonction `plot_graph`** :
– Crée un graphique de la vitesse du vent sur 30 jours.
4. **Fonction `show_data`** :
– Affiche les données de simulation dans un label.
5. **Fonction `update_ui`** :
– Met à jour l’interface graphique en générant de nouvelles données et en affichant le graphique et les données.
6. **Création de la Fenêtre Principale** :
– Utilise `tk.Tk()` pour créer la fenêtre principale.
– Ajoute un label pour afficher les données de simulation.
– Ajoute un espace pour le graphique.
– Ajoute un bouton pour mettre à jour les données.
7. **Boucle Principale** :
– Utilise `root.mainloop()` pour lancer l’interface graphique.
Utilisation Sympa
Pour rendre l’interface plus sympa, vous pouvez ajouter des couleurs, des icônes, et des animations. Voici quelques suggestions :
– **Couleurs** : Utilisez des couleurs vives et contrastées pour rendre l’interface plus attrayante.
– **Icônes** : Ajoutez des icônes pour les boutons et les labels.
– **Animations** : Utilisez des animations pour rendre l’interface plus dynamique.
En suivant ces étapes, vous pouvez créer une interface graphique sympa et fonctionnelle pour visualiser les résultats de simulations éoliennes en Python.