Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Calcul scientifique
Calcul scientifique Forum d'entraide sur la programmation scientifique et bibliothèques associées (PIL, NumPy, SciPy, ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 16/01/2013, 10h00   #1
jouclar
Membre du Club
 
Inscription : novembre 2007
Messages : 176
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : novembre 2007
Messages : 176
Points : 42
Points : 42
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
Type de fichier : png Result1.png (131,4 Ko, 4 affichages)
Type de fichier : png Result2.png (73,6 Ko, 3 affichages)
jouclar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2013, 14h30   #2
jouclar
Membre du Club
 
Inscription : novembre 2007
Messages : 176
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : novembre 2007
Messages : 176
Points : 42
Points : 42
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
jouclar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h02.


 
 
 
 
Partenaires

Hébergement Web