Problème d'affichage dans python (format spécifique)

Maissa - 16 avril 2024 à 18:44
Whismeril Messages postés 19034 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 2 mai 2024 - 17 avril 2024 à 07:10

Bonjour,

SVP, j'ai une table de données que je dois l'afficher dans un format spécifique pour mon projet, mais je ne trouve pas ni la bonne solution ni l'affichage comme je veux. Aidez-moi svp.

resultat code
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle

def display_data(data):
    # Créer une figure et un axe
    fig, ax = plt.subplots(figsize=(12, 8))

    # Définir les dimensions des rectangles
    rect_y = 0.2  # Position y des rectangles
    rect_height = 0.6  # Hauteur des rectangles
    first_rect_width = 0.2  # Largeur du premier rectangle (plus large)
    other_rect_width = 0.1  # Largeur des autres rectangles

    # Créer les rectangles noirs et les ajouter à l'axe
    for i in range(7):
        # Calculer la position x de chaque rectangle
        current_rect_x = 0.1 + i * other_rect_width

        # Déterminer la largeur à utiliser
        rect_width = first_rect_width if i == 0 else other_rect_width
        
        # Créer le rectangle
        rect = Rectangle((current_rect_x, rect_y), rect_width, rect_height, edgecolor='black', facecolor='none', linewidth=2)
        ax.add_patch(rect)
        
        # Ajouter les données au premier rectangle
        if i == 0:
            # Ajouter la date en haut à gauche
            ax.text(current_rect_x + 0.02, rect_y + rect_height - 0.02, f"{data['date']}", fontsize=10, va='top', ha='left')
            
            # Ajouter le type de turbulence en haut à droite
            ax.text(current_rect_x + rect_width - 0.02, rect_y + rect_height - 0.02, f"{data['type_turbulence']}", fontsize=10, va='top', ha='right')
            
            # Ajouter l'aéronef en gras, centré
            ax.text(current_rect_x + rect_width / 2, rect_y + rect_height - 0.08, f"{data['aeronef']}", fontsize=10, va='top', ha='center', fontweight='bold')
            
            # Ajouter la vitesse à droite, sous l'aéronef
            ax.text(current_rect_x + rect_width - 0.02, rect_y + rect_height - 0.14, f"{data['vitesse']}", fontsize=10, va='top', ha='right')

            # Ajouter le départ, l'heure et la destination sous la vitesse
            ax.text(current_rect_x + 0.02, rect_y + rect_height - 0.2, f"{data['depart']} à {data['heure']}      {data['destination']}", fontsize=10, va='top', ha='left')
            
 
        # Ajouter les données dans les autres rectangles
        elif i == 1:
            ax.text(current_rect_x + 0.02, rect_y + rect_height - 0.2, f"{data['niveau']}", fontsize=10, va='top', ha='left', wrap=True)
        elif i == 5:
            ax.text(current_rect_x + 0.02, rect_y + rect_height - 0.2, f"{data['information']}", fontsize=10, va='top', ha='left', wrap=True)

    # Définir les limites du graphique
    ax.set_xlim(0, 1)
    ax.set_ylim(0, 1)

    # Masquer les axes pour un affichage plus propre
    ax.axis('off')

    # Afficher le graphique
    plt.show()

# Exemple d'utilisation:
data = {
    'date': '01/02/2024',
    'aeronef': 'AFA22',
    'type_turbulence': 'AT3/L',
    'vitesse': 'N0100',
    'depart': 'DTTA',
    'heure': '0810',
    'destination': 'DTTA',
    'niveau': 'A015',
    'information': 'DOF/240202 REG/TSAFH OPR/AFA SRM/1110'
}

display_data(data)

1 réponse

Whismeril Messages postés 19034 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 2 mai 2024 656
17 avril 2024 à 07:10

Pour éviter les réponses croisées, question posée aussi sur ccm

https://forums.commentcamarche.net/forum/affich-38032825-affichage-dans-format-specifique-en-python


0
Rejoignez-nous