Bonjour, j'aimerais afficher plusieurs diagrammes en barre de manière dynamique, le problème que je rencontre c'est qui s'affiche de manière superposer et je ne sais pas comment faire pour les séparer

fonction pour générer un diagramme en barre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
def distogrameEMParAnnee(Dannee,nomProjet):
    mois=[1,2,3,4,5,6,7,8,9,10,11,12]
    tabEMois = Dannee.loc[Dannee["projet"] == nomProjet,['etape','mois']]
    i=0
    while(i<=12):
        namespace['tabEMois%d' % i] = Dannee.loc[(Dannee['projet'] == nomProjet) & (Dannee['mois'] == i),['etape']]
        namespace['nbEtapeParMois%d' % i] = namespace['tabEMois%d' % i].size
        i=i+1
    etapeParMois=[nbEtapeParMois1,nbEtapeParMois2,nbEtapeParMois3,nbEtapeParMois4,nbEtapeParMois5,nbEtapeParMois6,nbEtapeParMois7,nbEtapeParMois8,nbEtapeParMois9,nbEtapeParMois10,nbEtapeParMois11,nbEtapeParMois12]
    plt.bar(mois, etapeParMois)
    plt.xlabel("mois")  
    plt.ylabel("Etape par mois") 
    plt.style.use('seaborn')
    plt.show
fonction pour les afficher
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
def infoPourUnProjetSurDesAnnee(DanneeInf, DanneeSupp ,nomProjet):
    #Affichage globale
    infoGlobal(DanneeInf,DanneeSupp,nomProjet)
    #affichage par année
    i=0
    DanneeInf=DanneeInf-1
    while DanneeInf < DanneeSupp :
        DanneeInf = DanneeInf+1
        print(" ")
        print(str(DanneeInf) + " : " )
        print(" ")
        infoPourUnProjetAnnee(namespace['D%d' % DanneeInf], nomProjet)
        i=i+1
        distogrameEMParAnnee(namespace['D%d' % DanneeInf],nomProjet)
Voici l'affichage on peut voir que les diagrammes sont superposés il y en a 4 et en plus de sa sur chaque mois nous devrions avoir 4 couleurs mais nous n'en voyont que 2 par exemple sur le premier mois ce qui n'est pas normal.
Nom : Capture d’écran 2022-05-19 130940.png
Affichages : 138
Taille : 11,3 Ko

Merci d'avance pour le temps que vous allez consacrer pour m'aider à résoudre le problème