{"id":2324,"date":"2020-04-15T09:50:45","date_gmt":"2020-04-15T07:50:45","guid":{"rendered":"http:\/\/www.ardpylab.fr\/?page_id=2324"},"modified":"2020-05-10T16:28:48","modified_gmt":"2020-05-10T14:28:48","slug":"la-bibliotheque-matplotlib","status":"publish","type":"page","link":"https:\/\/www.ardpylab.fr\/?page_id=2324","title":{"rendered":"La biblioth\u00e8que matplotlib"},"content":{"rendered":"\n<p><strong><br>matplotlib<\/strong> est une biblioth\u00e8que destin\u00e9e \u00e0 tracer et visualiser des donn\u00e9es sous formes de graphiques.<\/p>\n<p>Pour tracer des graphes <strong>y=f(x)<\/strong> avec les points reli\u00e9s, o\u00f9 x et y sont fournis par des tableaux <strong>numpy<\/strong>, il faut importer le module <strong>pyplot<\/strong> de <strong>matplotlib<\/strong> (<strong>numpy<\/strong> \u00e9tant aussi utilis\u00e9, il devra bien-s\u00fbr \u00eatre \u00e9galement import\u00e9).<\/p>\n<p>&nbsp;<\/p>\n<p>Nous allons commencer par un exemple simple, le trac\u00e9 une droite d\u2019\u00e9quation&nbsp;: <strong>y = ax+ b&nbsp;<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/python\/matplotlib\/plot.py\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"247\" class=\"wp-image-2325 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot1.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot1.png 684w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot1-300x108.png 300w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<p>En premier, il faut cr\u00e9er un tableau numpy d\u2019entiers, par exemple de 0 \u00e0 9, correspondant aux abscisses du graphe (<strong>x=np.arange(10)<\/strong>).<\/p>\n<p>On applique la fonction de la droite \u00e0 ce tableau pour obtenir un autre tableau numpy d\u2019entiers correspondant aux ordonn\u00e9es du graphes (<strong>y= a*x + b<\/strong>)<\/p>\n<p><u>R\u00e9sultats dans le fen\u00eatre Python Shell<\/u>&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"685\" height=\"63\" class=\"wp-image-2326 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot2.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot2.png 685w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot2-300x28.png 300w\" sizes=\"auto, (max-width: 685px) 100vw, 685px\" \/><\/figure>\n<\/div>\n<p><br>Le graphe est cr\u00e9\u00e9 avec l\u2019instruction <strong>plt.plot(x,y)<\/strong> et affich\u00e9 avec <strong>plt.show()<\/strong>&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"656\" height=\"552\" class=\"wp-image-2327 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot3.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot3.png 656w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot3-300x252.png 300w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p>Selon le m\u00eame principe, nous allons maintenant tracer une sinuso\u00efde&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/python\/matplotlib\/plot2.py\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"686\" height=\"218\" class=\"wp-image-2329 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot5.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot5.png 686w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot5-300x95.png 300w\" sizes=\"auto, (max-width: 686px) 100vw, 686px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<p>Dans cet exemple, le tableau des abscisses contient 50 \u00e9l\u00e9ments \u00e9galement espac\u00e9s de 0 \u00e0 2 . On applique \u00e0 ce tableau, la fonction sinus, pour obtenir le tableau des ordonn\u00e9es de 50 \u00e9l\u00e9ments \u00e9galement (<strong>y=np.sin(x)<\/strong>).<\/p>\n<p><u>R\u00e9sultats dans le fen\u00eatre Python Shell<\/u>&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"378\" class=\"wp-image-2330 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot6.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot6.png 684w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot6-300x166.png 300w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/figure>\n<\/div>\n<p>Le graphe est cr\u00e9\u00e9 avec l\u2019instruction <strong>plt.plot(x,y)<\/strong> et affich\u00e9 avec <strong>plt.show()<\/strong>&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"657\" height=\"552\" class=\"wp-image-2331 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot7.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot7.png 657w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot7-300x252.png 300w\" sizes=\"auto, (max-width: 657px) 100vw, 657px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p>Les graphes ainsi obtenus peuvent \u00eatre mis en forme&nbsp;:<\/p>\n<p>&#8211; <u>Domaine des axes des abscisses et des ordonn\u00e9es<\/u>&nbsp;:<\/p>\n<p>Il est possible fixer ind\u00e9pendamment les domaines des abscisses et des ordonn\u00e9es en utilisant les fonctions <strong>xlim()<\/strong> et <strong>ylim()<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/python\/matplotlib\/plot3.py\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"233\" class=\"wp-image-2333 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot8.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot8.png 684w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot8-300x102.png 300w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/a><\/figure>\n<\/div>\n<p>Ce qui donne&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"573\" height=\"427\" class=\"wp-image-2334 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot9.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot9.png 573w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot9-300x224.png 300w\" sizes=\"auto, (max-width: 573px) 100vw, 573px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p>&#8211; <u>Ajout d\u2019un titre<\/u>&nbsp;:<\/p>\n<p>On peut ajouter un titre gr\u00e2ce \u00e0 l\u2019instruction <strong>title()&nbsp;<\/strong>:<\/p>\n<p style=\"padding-left: 40px;\"><strong>plt.title(\u201dtitre\u201d)<br><br><\/strong><\/p>\n<p>&#8211; <u>Ajout d\u2019une l\u00e9gende<\/u>&nbsp;:<\/p>\n<p>L\u2019instruction <strong>plt.legend()<\/strong> ajoute la l\u00e9gende au graphe d\u00e9finie lors de la cr\u00e9ation du graphe&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\"><strong>plt.plot(x,y, \u201dlegende\u201d)<br><br><\/strong><\/p>\n<p>&#8211; <u>Ajout d\u2019\u00e9tiquettes sur les axes<\/u>&nbsp;:<\/p>\n<p>Les fonctions <strong>xlabel()<\/strong> et <strong>ylabel()<\/strong> ajoutent respectivement des \u00e9tiquettes sur les axes des abscisses et des ordonn\u00e9es.<\/p>\n<p style=\"padding-left: 40px;\"><strong>plt.xlabel(\u201dabscisses\u201d)<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>plt.ylabel(\u201dordonnees\u201d)<\/strong><\/p>\n<p><strong>&nbsp;<\/strong><\/p>\n<p><u>Exemple de mise en forme<\/u>&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/python\/matplotlib\/plot4.py\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"344\" class=\"wp-image-2335 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot10.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot10.png 684w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot10-300x151.png 300w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/a><\/figure>\n<\/div>\n<p>Ce qui donne:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"611\" height=\"464\" class=\"wp-image-2336 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot11.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot11.png 611w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot11-300x228.png 300w\" sizes=\"auto, (max-width: 611px) 100vw, 611px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p>Il est possible d\u2019afficher plusieurs courbes sur le m\u00eame graphe. Pour chaque courbe, il suffit de d\u00e9finir des tableaux <strong>numpy<\/strong> correspondant aux valeurs des ordonn\u00e9es des caract\u00e9ristiques <strong>y=f(x)<\/strong>.<\/p>\n<p><u>Exemple<\/u>&nbsp;: Affichage de deux sinuso\u00efdes avec un d\u00e9phasage de \u03c0\/2<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/python\/matplotlib\/plot4b.py\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"685\" height=\"377\" class=\"wp-image-2339 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot12.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot12.png 685w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot12-300x165.png 300w\" sizes=\"auto, (max-width: 685px) 100vw, 685px\" \/><\/a><\/figure>\n<\/div>\n<p>Ce qui donne:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"449\" class=\"wp-image-2340 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot13.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot13.png 620w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot13-300x217.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p>&#8211;<u>Style des courbes<\/u><\/p>\n<p>Le style des courbes est modifiable en pr\u00e9cisant la couleur, le style de ligne et les symboles des points (\u00ab\u00a0marker\u00a0\u00bb) en ajoutant une cha\u00eene de caract\u00e8res \u00e0 l\u2019instruction de cr\u00e9ation du graphe, de la fa\u00e7on suivante :<\/p>\n<p><strong>plot( x, y, \u201dcouleur symbole style de ligne\u201d, label=\u201dlabel\u201d)<br><br><\/strong><\/p>\n<p>. <u>couleurs<\/u><\/p>\n<p>Les cha\u00eenes de caract\u00e8res suivantes permettent de d\u00e9finir la couleur :<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/image-2.png\" alt=\"\" class=\"wp-image-2341\" width=\"542\" height=\"314\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/image-2.png 678w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/image-2-300x174.png 300w\" sizes=\"auto, (max-width: 542px) 100vw, 542px\" \/><\/figure><\/div>\n\n\n\n<p><br>. <u>Styles de ligne<\/u><\/p>\n<p>Les cha\u00eenes de caract\u00e8res suivantes permettent de d\u00e9finir le style de ligne :<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/image-3.png\" alt=\"\" class=\"wp-image-2342\" width=\"540\" height=\"174\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/image-3.png 679w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/image-3-300x97.png 300w\" sizes=\"auto, (max-width: 540px) 100vw, 540px\" \/><\/figure><\/div>\n\n\n\n<p><br>. Symboles<\/p>\n\n\n\n<p>Les cha\u00eenes de caract\u00e8res suivantes permettent de d\u00e9finir le symbole (\u00ab\u00a0marker\u00a0\u00bb) :<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"877\" height=\"521\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/image-4.png\" alt=\"\" class=\"wp-image-2343\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/image-4.png 877w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/image-4-300x178.png 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/image-4-768x456.png 768w\" sizes=\"auto, (max-width: 877px) 100vw, 877px\" \/><\/figure><\/div>\n\n\n\n<p><u><br>Remarque<\/u>&nbsp;:<\/p>\n<p>Pour une repr\u00e9sentation graphique en nuage de points, il suffit d\u2019indiquer un symbole sans pr\u00e9ciser un style de ligne.<\/p>\n<p><u>Exemples de styles de courbe<\/u>&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/python\/matplotlib\/plot5.py\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"686\" height=\"445\" class=\"wp-image-2347 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot14.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot14.png 686w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot14-300x195.png 300w\" sizes=\"auto, (max-width: 686px) 100vw, 686px\" \/><\/a><\/figure>\n<\/div>\n<p>Ce qui donne:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"850\" height=\"544\" class=\"wp-image-2348 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot15.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot15.png 850w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot15-300x192.png 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot15-768x492.png 768w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p>&#8211; <u>style de graphe<\/u>&nbsp;:<\/p>\n<p>Le style du graphe est modifiable avec l\u2019instruction&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\"><strong>pyplot.style.use(\u2018nom du style&rsquo;)<br><br><\/strong><\/p>\n<p>Voici quelques styles de graphes de <strong>matplotlib<\/strong>&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"693\" height=\"292\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot16.png\" alt=\"\" class=\"wp-image-2349\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot16.png 693w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot16-300x126.png 300w\" sizes=\"auto, (max-width: 693px) 100vw, 693px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"285\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot17.png\" alt=\"\" class=\"wp-image-2350\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot17.png 684w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot17-300x125.png 300w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/figure>\n\n\n\n<p><u>Exemple<\/u>&nbsp;: Style \u2018\u2019seaborn-whitegrid\u2019\u2019<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/python\/matplotlib\/plot6.py\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"237\" class=\"wp-image-2351 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot18.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot18.png 684w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot18-300x104.png 300w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/a><\/figure>\n<\/div>\n<p>Ce qui donne :<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"562\" height=\"411\" class=\"wp-image-2352 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot19.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot19.png 562w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot19-300x219.png 300w\" sizes=\"auto, (max-width: 562px) 100vw, 562px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p>&#8211; <u>Disposition et graphes multiples<\/u>&nbsp;:<\/p>\n<p>Il est possible d\u2019afficher plusieurs graphes sur la m\u00eame figure en cr\u00e9ant un objet <strong>figure <\/strong>dont on peut pr\u00e9ciser la taille en pouce&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\"><strong>fig = pyplot.figure(figsize = (10, 10))<br><br><\/strong><\/p>\n<p>Les graphes dans cette figure sont mod\u00e9lis\u00e9s par des objets <strong>axes<\/strong>. Pour cr\u00e9er un graphe dans la figure <strong>fig, <\/strong>on cr\u00e9e un objet <strong>axe<\/strong> \u00e0 l\u2019aide de la fonction<strong> subplot()&nbsp;<\/strong>en sp\u00e9cifiant le nombre de lignes et le nombre de colonnes dans la figure, ainsi que le num\u00e9ro du graphe :<\/p>\n<p style=\"padding-left: 40px;\"><strong>ax1 = pyplot.subplot(211)<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>ax2 = pyplot.subplot(212)<br><br><\/strong><\/p>\n<p>Ces instructions vont cr\u00e9er 2 lignes et 1 colonne dans la figure, les 2 lignes contenant chacune 1 graphe&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"274\" height=\"213\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot20.png\" alt=\"\" class=\"wp-image-2353\"\/><\/figure><\/div>\n\n\n\n<p>Ou&nbsp;: <strong>ax1 = plt.subplot(121)<\/strong><\/p>\n<p><strong>&nbsp; &nbsp; &nbsp; &nbsp; ax2 = plt.subplot(122)<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\" style=\"text-align: center;\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"402\" height=\"196\" class=\"wp-image-2354 aligncenter\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot21.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot21.png 402w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot21-300x146.png 300w\" sizes=\"auto, (max-width: 402px) 100vw, 402px\" \/><br><strong>1 ligne, 2 colonnes<\/strong><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p>Ou&nbsp;:&nbsp; <strong>ax1 = plt.subplot(221)<\/strong><\/p>\n<p><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ax2 = plt.subplot(222)<\/strong><\/p>\n<p><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ax3 = plt.subplot(223)<\/strong><\/p>\n<p><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ax4 = plt.subplot(224)<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\" style=\"text-align: center;\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"406\" height=\"305\" class=\"wp-image-2355 aligncenter\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot22.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot22.png 406w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot22-300x225.png 300w\" sizes=\"auto, (max-width: 406px) 100vw, 406px\" \/><br><strong>2 lignes, 2 colonnes<\/strong>\n<figcaption><\/figcaption>\n<\/figure>\n<\/div>\n\n\n\n<p>Et ainsi de suite\u2026<br><br><\/p>\n<p>Les graphes sont cr\u00e9\u00e9s avec la fonction <strong>plot()<\/strong> appliqu\u00e9e aux axes d\u00e9finis&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\"><strong>ax1.plot(x, y)<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>ax2.plot(x, y2)<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>\u2026<\/strong><\/p>\n<p>et affich\u00e9s avec la fonction<strong> show() <\/strong>appliqu\u00e9e \u00e0 la figure&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\"><strong>fig.show()<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>La d\u00e9finition des styles de courbes reste le m\u00eame&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\"><strong>axe.plot( x, y, \u00ab\u00a0couleur symbole style de ligne\u00a0\u00bb, label=\u00a0\u00bblabel\u00a0\u00bb)<\/strong><\/p>\n<p>et l\u2019affichage de la l\u00e9gende se fait sur l\u2019objet <strong>axe<\/strong>&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\"><strong>axe.legend()<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>La mise en forme des graphes (titre, \u00e9chelles, \u00e9tiquettes des axes) est cependant l\u00e9g\u00e8rement diff\u00e9rent&nbsp;:<\/p>\n<p>&#8211; Ajout d\u2019un titre sur un objet <strong>axe<\/strong>&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\"><strong>axe.set_title(\u00ab\u00a0titre\u00a0\u00bb)<\/strong><\/p>\n<p>&#8211; D\u00e9finition des \u00e9chelles des axes&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\"><strong>axe.set_xlim(x<sub>1<\/sub>, x<sub>2<\/sub>)<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>axe.set_ylim(y<sub>1<\/sub>, y<sub>2<\/sub>)<\/strong><\/p>\n<p>&#8211; Ajout d\u2019\u00e9tiquettes sur les axes&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\"><strong>axe.set_xlabel(\u00ab\u00a0labelx\u00a0\u00bb)<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>axe.set_ylabel(\u00ab\u00a0labely\u00a0\u00bb)<\/strong><\/p>\n<p><strong>&nbsp;<\/strong><\/p>\n<p><u>Exemples<\/u> :<\/p>\n<p>. 2 graphes sur 1 ligne \/ 2 colonnes :<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/python\/matplotlib\/fig2.py\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"683\" height=\"586\" class=\"wp-image-2358 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot23.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot23.png 683w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot23-300x257.png 300w\" sizes=\"auto, (max-width: 683px) 100vw, 683px\" \/><\/a><\/figure>\n<\/div>\n<p>Ce qui donne:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"388\" class=\"wp-image-2359 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot24-1024x388.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot24-1024x388.png 1024w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot24-300x114.png 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot24-768x291.png 768w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot24.png 1515w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p>. 2 graphes sur 2 lignes \/ 1 colonne :<\/p>\n<p><a href=\"https:\/\/www.ardpylab.fr\/downloads\/python\/matplotlib\/fig.py\" data-wplink-url-error=\"true\">Le code<\/a> est identique \u00e0 celui de l\u2019exemple pr\u00e9c\u00e8dent seul la taille de la figure et la disposition des graphes changent :<\/p>\n<p style=\"padding-left: 40px;\"><strong>fig = plt.figure(figsize = (8, 8))<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>ax1 = plt.subplot(211)<\/strong><\/p>\n<p style=\"padding-left: 40px;\"><strong>ax2 = plt.subplot(212)<\/strong><\/p>\n<p>Ce qui donne:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"820\" height=\"874\" class=\"wp-image-2361 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot25.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot25.png 820w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot25-281x300.png 281w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot25-768x819.png 768w\" sizes=\"auto, (max-width: 820px) 100vw, 820px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p>. 4 graphes sur 2 lignes \/ 2 colonnes :<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/python\/matplotlib\/fig3.py\" data-wplink-url-error=\"true\"><img loading=\"lazy\" decoding=\"async\" width=\"701\" height=\"612\" class=\"wp-image-2363 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot26.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot26.png 701w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot26-300x262.png 300w\" sizes=\"auto, (max-width: 701px) 100vw, 701px\" \/><\/a><\/figure>\n<\/div>\n<p>Ce qui donne:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"589\" class=\"wp-image-2364 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot27-1024x589.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot27-1024x589.png 1024w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot27-300x173.png 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot27-768x442.png 768w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/pythonplot27.png 1520w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>&nbsp;<\/p>\n<p>Tout ce qui vient d\u2019\u00eatre vu n\u2019est qu\u2019une infime partie des possibilit\u00e9s que peut offrir <strong>matplotlib<\/strong>. Pour plus d\u2019informations sur <strong>matplotlib<\/strong>, de nombreux tutoriels sont disponibles sur le site&nbsp;:<\/p>\n\n\n\n<p style=\"padding-left: 40px;\"><a href=\"https:\/\/matplotlib.org\/3.1.1\/tutorials\/\">https:\/\/matplotlib.org\/3.1.1\/tutorials\/<\/a><\/p>\n<p>\u00a0<\/p>\n\n\n<div  class=\"grids-section grids-is-stretch\" style=\"--_gs-gap-desktop:0px 0px;--_gs-m-desktop:0 0 0 0;--_gs-p-desktop:0 0 0 0;--_gs-bg-desktop:transparent none;--_gs-bg-xp-desktop:0px;--_gs-zi-desktop:auto;--_gs-d-desktop:block;--_gs-mw-desktop:calc(100% - 0 - 0);--_gs-gap-tablet:0px 0px;--_gs-m-tablet:0 0 0 0;--_gs-p-tablet:0 0 0 0;--_gs-bg-tablet:transparent none;--_gs-bg-xp-tablet:0px;--_gs-zi-tablet:auto;--_gs-d-tablet:block;--_gs-mw-tablet:calc(100% - 0 - 0);--_gs-gap-mobile:0px 0px;--_gs-m-mobile:0 0 0 0;--_gs-p-mobile:0 0 0 0;--_gs-bg-mobile:transparent none;--_gs-bg-xp-mobile:0px;--_gs-zi-mobile:auto;--_gs-d-mobile:block;--_gs-mw-mobile:calc(100% - 0 - 0);--_gs-columns:2;--_gs-rows:1\"><div class=\"grids-s-w_i\">\n<div class=\"grids-area\" style=\"--_ga-column:1\/2;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<div class=\"wp-block-image\"><figure class=\"alignleft size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2276\"><img loading=\"lazy\" decoding=\"async\" width=\"50\" height=\"28\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/moins.jpg\" alt=\"\" class=\"wp-image-107\"\/><\/a><\/figure><\/div>\n\n<\/div>\n\n<div class=\"grids-area\" style=\"--_ga-column:2\/3;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2370\"><img loading=\"lazy\" decoding=\"async\" width=\"50\" height=\"28\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/plus.jpg\" alt=\"\" class=\"wp-image-106\"\/><\/a><\/figure><\/div>\n\n<\/div>\n<\/div><\/div>\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>matplotlib est une biblioth\u00e8que destin\u00e9e \u00e0 tracer et visualiser des donn\u00e9es sous formes de graphiques. Pour tracer des graphes y=f(x) avec les points reli\u00e9s, o\u00f9 x et y sont fournis par des tableaux numpy, il faut importer le module pyplot de matplotlib (numpy \u00e9tant aussi utilis\u00e9, il devra bien-s\u00fbr \u00eatre \u00e9galement import\u00e9). &nbsp; Nous allons [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2324","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/2324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2324"}],"version-history":[{"count":0,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/2324\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}