Pour aller plus loin...

Tracer plusieurs graphes dans une même fenêtre graphique

La fonction subplot(abc) partage la fenêtre graphique en a lignes et b colonnes, puis sélectionne le graphe c pour les instructions graphiques qui suivront. NB : Les numéros des graphes sont comptés par ligne, de gauche à droite.

Exemple (le résultat du code ci-dessous est sur la figure en bas de page) :

1
plt.suptitle("Tous mes graphes", fontsize=16) #Affiche un titre pour tous les graphes
2
3
plt.subplot(221) #découpe la figure en 2 lignes 2 colonnes, les instructions qui suivent concernent le graphe1
4
plt.plot(b,d,"b--",label="f2")
5
plt.legend()
6
plt.title("mon premier graphe", fontsize=14)
7
plt.xlabel("temps en s", fontsize=10)
8
9
plt.subplot(223) #découpe la figure en 2 lignes 2 colonnes, les instructions qui suivent concernent le graphe3
10
plt.plot((-20,20),(2,2),"r-.")
11
plt.title("mon second graphe", fontsize=14)
12
13
plt.subplot(122) #découpe la figure en 1 ligne 2 colonnes, les instructions qui suivent concernent le graphe2
14
plt.plot(a,c,"g:", linewidth=1)
15
plt.title("mon troisième graphe", fontsize=14)
16
17
plt.gcf().subplots_adjust(left = 0.05, bottom = 0.1, right = 0.95, top = 0.87, wspace = 0.3, hspace = 0.8) # ajuste les marges entre les graphes (wspace et hspace), mais aussi les marges avec les bords de la figure (left, bottom, right et top)
18
plt.show()
Tracé de plusieurs graphes dans une même fenêtreInformations[1]

Exemple de code pour tracer 2 graphes dans la même fenêtre avec import de valeurs

Pour ne pas se faire piéger par différentes unités utilisées dans le code, on prendra l'habitude de les indiquer dans le nom de la variable (exemple au lieu de prendre comme nom de variable t, alpha, Wmot... on indiquera t_s, Alpha_deg, Wmot_radpars

Exemple :

1
import numpy as np
2
import matplotlib.pyplot as plt
3
4
## 1. Récupération des valeurs EXPérimentales
5
xEXP_mm,alphaEXP_deg,bêtaEXP_deg=np.loadtxt("P:\\Documents\\TP SII\\valeursEXP.csv", skiprows=7, unpack=True, usecols=(1,3,8))
6
##
7
8
## 2. Récupération des valeurs issues des simulations NUMériques
9
xNUM_mm,alphaNUM_deg,bêtaNUM_deg=np.loadtxt("P:\\Documents\\TP SII\\valeursNUM.csv", skiprows=2, unpack=True, usecols=(0,1,2))
10
##
11
12
## 3. Détermination des valeurs issues des simulations MANuelles
13
# Paramètres caractéristiques
14
L1_mm=50
15
L2_mm=35
16
L3_mm=90
17
#NB : toutes les expressions des variables doivent être précisées littéralement
18
xMAN_mm=np.arange(20,55,1)
19
alphaMAN_rad=-np.cos((L3_mm**2-xMAN_mm**2)/(L1_mm*L2_mm))
20
bêtaMAN_rad=-alphaMAN_rad+np.sin((L2_mm**2-xMAN_mm**2)/(L3_mm*xMAN_mm))
21
alphaMAN_deg=360/2/np.pi*alphaMAN_rad
22
bêtaMAN_deg=360/2/np.pi*bêtaMAN_rad
23
##
24
25
## 4. Tracés
26
plt.subplot(211)
27
plt.plot(xEXP_mm,alphaEXP_deg,label="expérimental")
28
plt.plot(xNUM_mm,alphaNUM_deg,label="simul. numérique")
29
plt.plot(xMAN_mm,alphaMAN_deg,label="simul. manuelle")
30
plt.legend(fontsize=15)
31
plt.xlabel("x en mm")
32
plt.ylabel("alpha en degré")
33
plt.title("Alpha en fonction de x")
34
35
plt.subplot(212)
36
plt.plot(xEXP_mm,bêtaEXP_deg,label="expérimental")
37
plt.plot(xNUM_mm,bêtaNUM_deg,label="simul. numérique")
38
plt.plot(xMAN_mm,bêtaMAN_deg,label="simul. manuelle")
39
plt.legend(fontsize=15)
40
plt.xlabel("x en mm")
41
plt.ylabel("bêta en degré")
42
plt.title("Bêta en fonction de x")
43
44
plt.show()
45
##