Path: buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Wed, 23 Mar 2022 06:38:15 -0500 Newsgroups: fr.comp.lang.python Subject: Subplot multiples dans une boucle X-poster: PEAR::Net_NNTP v1.5.0 (stable) From: BeaGV Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Organization: !No_Organization! Message-ID: Date: Wed, 23 Mar 2022 06:38:15 -0500 Lines: 244 X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-pNolm4lLKqpf9HFA5N5ErT/08017UmBhSz35b0vhgHCHTZ7Md6r/4RiUfiqwNAb5OfnpG9oUdq4eOSe!R4O08dfhcaFcMayJ0QjAB8nfT2dju+O3b5QWJ7vcjTjOXjf/1EF8FqqNVvGAt37Ck4VT986EBnZU X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 Bytes: 11353 X-Original-Lines: 169 Bonjour, Bonjour, Je suis débutante en Python et je bloque depuis un moment sur une représentation graphique dans une figure avec 2 lignes et 5 colonnes dans une boucle while. Voici le code que j'ai écrit le problème est dans les boucles while, j'ai bien l'affichage des graphiques mais un par un pas dans la figure avec les 10 subplot.... De plus la figure ne s'enregistre pas .... Est-ce que quelqu'un pourrait m'aider, cela fait quelques jours que je cherche une solution.... Merci d'avance pour votre aide! Bea # Initialisation boucle while cycle_avant = -10 pos_avant = 1 plt.figure(figsize=(15, 7)) pyplot.gcf().subplots_adjust(left = 0.1, bottom = 0.3, right = 0.8, top = 0.9, wspace = 0.08, hspace = 0.35) #Calcul du débit moyen, max, min, dépassement moyen d'un cycle complet de filtration for Periode in dfCycle.index: #Extraction des débits sur la période du cycle complet de filtration dtDebCyc = dfCycle.iloc[Periode,0] dtFinCyc = dfCycle.iloc[Periode,1] #calcul de la moyenne, max, min #print(dtDeb, dtFin) dfDebitCycle = dfDebitFiltration.iloc[dfDebitFiltration.index.searchsorted(dtDebCyc):dfDebitFiltration.index.searchsorted(dtFinCyc)] #Parenthèse pour graphiques 10 cycles avant et 10 cycle après les lavages à la soude # Premier lavage à la soude 142j = 27/11/2014 19:58:09 if pos_avant <= 10: while dtDebCyc == (datetime(year=2014, month=11, day=19, hour=15, minute=22, second=53)) or dtDebCyc == (datetime(year=2014, month=11, day=20, hour=6, minute=53, second=38)) or dtDebCyc == (datetime(year=2014, month=11, day=20, hour=22, minute=7, second=47)) or dtDebCyc == (datetime(year=2014, month=11, day=21, hour=8, minute=47, second=52)) or dtDebCyc == (datetime(year=2014, month=11, day=24, hour=8, minute=48, second=34)) or dtDebCyc == (datetime(year=2014, month=11, day=25, hour=6, minute=34, second=31)) or dtDebCyc == (datetime(year=2014, month=11, day=25, hour=21, minute=12, second=2)) or dtDebCyc == (datetime(year=2014, month=11, day=26, hour=11, minute=26, second=3)) or dtDebCyc == (datetime(year=2014, month=11, day=27, hour=2, minute=21, second=20)) or dtDebCyc == (datetime(year=2014, month=11, day=27, hour=19, minute=58, second=9)): dfDebitCycle['Date (j)'] = dfDebitCycle.index- dtDebCyc dfDebitCycle['Date (j)'] = dfDebitCycle['Date (j)'] / np.timedelta64(1, 's')/60/60 plt.subplot(2,5,pos_avant) # je divise la figure en 4 colonnes et je représente le graphique 1 dans la première colonne plt.scatter(dfDebitCycle['Date (j)'], dfDebitCycle['Débit'], facecolor='none', edgecolor='blue', label='Q', marker='o', s = 10) print(pos_avant, 'position') print(cycle_avant, 'cycle') #plt.xlim(0, 24) #plt.ylim(10000, 40000) #plt.yticks([21.8, 22.1, 22.4, 22.7, 23, 23.3]) # Fixe le pas de temps des graduations plt.xticks(fontsize=10) plt.yticks(fontsize=10) plt.xlabel('t (h)', fontsize=10) plt.ylabel('Débit (m$^3$/h)', fontsize=10) plt.title(repr(cycle_avant) + ' j' , fontsize=10) plt.show() cycle_avant = cycle_avant +1 pos_avant = pos_avant +1 break if pos_avant == 11: plt.show() path = 'C:/Users/b_gonzal/Desktop/Beatriz/Thèse/Lavages (Méca Fluides)/Bilan matière lavages/Optimisation modèle accu solide_14-02-2022/' os.chdir(path) plt.savefig('Débit_10j_avant_LS1.png', dpi =600, bbox_inches='tight') # bbox_inches='tight' permet de ne pas couper des zones du graphique (ajuste la taille de la figure) plt.savefig('Débit_10j_avant_LS1.pdf', dpi=600, bbox_inches='tight') # bbox_inches='tight' permet de ne pas couper des zones du graphique (ajuste la taille de la figure) # Initialisation boucle while cycle_apres = 1 pos_apres = 1 plt.figure(figsize=(15, 7)) pyplot.gcf().subplots_adjust(left = 0.1, bottom = 0.3, right = 0.8, top = 0.9, wspace = 0.08, hspace = 0.35) while dtDebCyc == (datetime(year=2014, month=12, day=1, hour=10, minute=21, second=59)) or dtDebCyc == (datetime(year=2014, month=12, day=1, hour=14, minute=12, second=18)) or dtDebCyc == (datetime(year=2014, month=12, day=2, hour=0, minute=0, second=21)) or dtDebCyc == (datetime(year=2014, month=12, day=2, hour=13, minute=17, second=19)) or dtDebCyc == (datetime(year=2014, month=12, day=3, hour=2, minute=13, second=21)) or dtDebCyc == (datetime(year=2014, month=12, day=3, hour=21, minute=52, second=29)) or dtDebCyc == (datetime(year=2014, month=12, day=4, hour=13, minute=33, second=25)) or dtDebCyc == (datetime(year=2014, month=12, day=5, hour=9, minute=57, second=28)) or dtDebCyc == (datetime(year=2014, month=12, day=6, hour=1, minute=46, second=31)) or dtDebCyc == (datetime(year=2014, month=12, day=6, hour=22, minute=42, second=32)): dfDebitCycle['Date (j)'] = dfDebitCycle.index- dtDebCyc dfDebitCycle['Date (j)'] = dfDebitCycle['Date (j)'] / np.timedelta64(1, 's')/60/60 plt.subplot(2,5,pos_apres) # je divise la figure en 5 colonnes plt.scatter(dfDebitCycle.index-dtDebCyc, dfDebitCycle['Débit'], facecolor='none', edgecolor='blue', label='Q', marker='o', s = 10) print(pos_apres, 'position') print(cycle_apres, 'cycle') #plt.xlim(0, 24) #plt.ylim(10000, 40000) #plt.yticks([21.8, 22.1, 22.4, 22.7, 23, 23.3]) # Fixe le pas de temps des graduations plt.xticks(fontsize=10) plt.yticks(fontsize=10) plt.xlabel('t (h)', fontsize=10) plt.ylabel('Débit (m$^3$/h)', fontsize=10) plt.title(repr(cycle_apres) + ' j' , fontsize=16) plt.show() cycle_apres = cycle_apres +1 pos_apres = pos_apres +1 break if pos_apres == 11: plt.show() path = 'C:/Users/b_gonzal/Desktop/Beatriz/Thèse/Lavages (Méca Fluides)/Bilan matière lavages/Optimisation modèle accu solide_14-02-2022/' os.chdir(path) plt.savefig('Débit_10j_après_LS1.png', dpi=600, bbox_inches='tight') # bbox_inches='tight' permet de ne pas couper des zones du graphique (ajuste la taille de la figure) plt.savefig('Débit_10j_après_LS1.pdf', dpi=600, bbox_inches='tight') # bbox_inches='tight' permet de ne pas couper des zones du graphique (ajuste la taille de la figure) # Deuxième lavage à la soude 292j = 26/04/2015 10:37:39 # Troisième lavage à la soude 544j = 04/01/2016 07:29:54 # Quatrième lavage à la soude 729j = 05/07/2016 23:02:52 # Arrondi de la date à l'heure inférieure ("floor", utiliser "ceil" si on veut arrondir à l'heure supérieure) dfDebitCycleHoraire =dfDebitCycle dfDebitCycleHoraire['Date Horaire'] = dfDebitCycleHoraire.index dfDebitCycleHoraire['Date Horaire'] = dfDebitCycleHoraire['Date ========== REMAINDER OF ARTICLE TRUNCATED ==========