Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : novembre 2007
    Messages : 179
    Points : 41
    Points
    41

    Par défaut MATPLOTLIB SUBPLOT DATES

    Bonjour à tous,

    Je vous sollicite aujourd'hui pour un problèmes de mise en forme de dates dans des subplots.

    J'ai une fonction qui à partir d'un dico me trace autant de subplots qu'il y a de clefs dans le dico cependant le formatage de la date ne fonctionne pas.

    Voici le code :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    def plotting_dico(dico, titre):
        """
        Plot a partir des data contenus dans dico
        """
        x = []
        y = []
        nbMesures = len(dico.keys())
        sub = 11 + nbMesures*100 # nbre de subplots
        for key in sorted(dico.iterkeys()):
            points = [(datetime.strptime(i[0], "%d/%m/%y-%H:%M:%S"), \
                       i[1]) for i in dico[key]]
            points.sort()
            x, y = zip(*points)
            plt.figure(1)
            plt.subplot(sub)
            sub = sub + 1
            plt.plot(x, y, label=key)
            formatter = DateFormatter('%Y-%m-%d %H:%M:%S')
            plt.gcf().axes[0].xaxis.set_major_formatter(formatter)
            plt.gcf().autofmt_xdate()
            plt.legend(loc='upper right')
            plt.xlabel('Dates (GMT)')
            plt.ylabel(titre)
            plt.grid(True)
        plt.show()
        return
    En PJ le Result1.png est le résultat de ma fonction et Result2 ce que je souhaite.

    Merci de votre aide
    Images attachées Images attachées

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : novembre 2007
    Messages : 179
    Points : 41
    Points
    41

    Par défaut

    Trouvé !!!

    Pour ceux que cela intéresse :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    def plotting_dico(dico, titre):
        """
        Plot a partir des data contenus dans dico
        """
        x = []
        y = []
        nbMesures = len(dico.keys())
        sub = 11 + nbMesures*100 # nbre de subplots
        cp = 1
        for key in sorted(dico.iterkeys()):
            points = [(datetime.strptime(i[0], "%d/%m/%y-%H:%M:%S"), \
                       i[1]) for i in dico[key]]
            points.sort()
            x, y = zip(*points)
            fig= plt.figure(1)
            ax1 = fig.add_subplot(sub)
            ax1.plot(x, y, label=key)
            if cp == 2:
                ax2 = fig.add_subplot(sub + 1, sharex=ax1)
                ax2.plot(x, y, label=key)
            if cp == 3:
                ax3 = fig.add_subplot(sub + 2, sharex=ax2)
                ax3.plot(x, y, label=key)
            #sub = sub + 1
            cp = cp + 1
            formatter = DateFormatter('%Y-%m-%d %H:%M:%S')
            plt.gcf().axes[0].xaxis.set_major_formatter(formatter)
            plt.gcf().autofmt_xdate()
            plt.legend(loc='upper right')
            plt.xlabel('Dates (GMT)')
            plt.ylabel(titre)
            plt.grid(True)
        plt.show()
        return

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •