Skip to article frontmatterSkip to article content

introduction

from matplotlib import pyplot as plt

# pour l'instant on va utiliser le mode par défaut
#%matplotlib inline

# pour changer la taille par défaut
plt.rcParams['figure.figsize'] = (4, 2)

import numpy as np
import pandas as pd

plusieurs drivers

tracer une courbe avec plt.plot

# le code
x = np.linspace(0, 2*np.pi, 50)
y = np.sin(x)
plt.plot(x, y); # le ; est là afin que la dernière expression du notebook (celle qui est affichée) soit None
<Figure size 400x200 with 1 Axes>
#le code
plt.plot(x, y, marker='s');
<Figure size 400x200 with 1 Axes>
# le code
plt.plot(x, y, linewidth=5, color='red', linestyle='dotted');
<Figure size 400x200 with 1 Axes>
plt.plot(x, y, 'r-') # ligne rouge continue
plt.show()
plt.plot(x, y, 'b.') # ligne bleue pointillée
plt.show()
plt.plot(x, y, 'g--'); # ligne verte pointillée
<Figure size 400x200 with 1 Axes><Figure size 400x200 with 1 Axes><Figure size 400x200 with 1 Axes>

attention aux valeurs manquantes

# le code
plt.plot([10, 20], [10, 20]);
<Figure size 400x200 with 1 Axes>
# le code
plt.plot([10], [10]);
<Figure size 400x200 with 1 Axes>

ajouter un titre plt.title

# le code
x = np.linspace(0, 2*np.pi, 50)
y = np.sin(x)

plt.plot(x, y)
plt.title('sinus(X)', fontsize=20, loc='left');
<Figure size 400x200 with 1 Axes>

donner une taille à une figure

# le code
x = np.linspace(0, 2*np.pi, 50)
plt.figure(figsize=(10, 2)) # 10 pour les abscisses et 2 pour les ordonnées
plt.plot(x, np.sin(x));
<Figure size 1000x200 with 1 Axes>
#plt.figure?

ajouter des labels aux axes plt.xlabel et plt.ylabel

# le code
x = np.linspace(0, 2*np.pi, 50)
y = np.sin(x)

plt.plot(x, y)
plt.xlabel('X')
plt.xlabel('Y');
<Figure size 400x200 with 1 Axes>
#le code
#plt.xlabel?

nuages de points (plt.scatter)

# le code
x = np.linspace(0, 2*np.pi, 50)
z = np.cos(x)
plt.scatter(x, z);
<Figure size 400x200 with 1 Axes>

donner une légende à plusieurs plots sur la même figure label

x = np.linspace(0, 2*np.pi, 50)
plt.scatter(x, np.sin(x), label='sinus')
plt.scatter(x, np.cos(x), label='cosinus')
plt.legend();
<Figure size 400x200 with 1 Axes>

fixer la limite des axes (plt.xlim et plt.ylim)

# le code
plt.xlim(0, np.pi)
plt.ylim(0,1)
plt.plot(x, np.sin(x))
<Figure size 400x200 with 1 Axes>

préciser les ticks des axes (plt.xticks et plt.yticks)

# le code
x = np.linspace(0, 2*np.pi, 50)

plt.xticks([0, np.pi/2, np.pi, 3*np.pi/2, 2*np.pi])
plt.yticks([-1, -0.5, 0, 0.5, 1])
plt.plot(x, np.sin(x));
<Figure size 400x200 with 1 Axes>
# le code
x = np.linspace(0, 2*np.pi, 50)

plt.xticks([0, np.pi/2, np.pi, 3*np.pi/2, 2*np.pi],
           [0, 'pi/2', 'pi', '3pi/2', '2pi'])

plt.plot(x, np.sin(x));
<Figure size 400x200 with 1 Axes>
# le code
plt.xticks([0, np.pi/2, np.pi, 3*np.pi/2, 2*np.pi],
           [0, '$\pi/2$', '$\pi$', '$3\pi/2$', '$2\pi$'])

plt.title("$sin(x)$ entre $0$ et $2\pi$ ")
plt.plot(x, np.sin(x));
<>:3: SyntaxWarning: invalid escape sequence '\p'
<>:3: SyntaxWarning: invalid escape sequence '\p'
<>:3: SyntaxWarning: invalid escape sequence '\p'
<>:3: SyntaxWarning: invalid escape sequence '\p'
<>:5: SyntaxWarning: invalid escape sequence '\p'
<>:3: SyntaxWarning: invalid escape sequence '\p'
<>:3: SyntaxWarning: invalid escape sequence '\p'
<>:3: SyntaxWarning: invalid escape sequence '\p'
<>:3: SyntaxWarning: invalid escape sequence '\p'
<>:5: SyntaxWarning: invalid escape sequence '\p'
/tmp/ipykernel_2550/3479461785.py:3: SyntaxWarning: invalid escape sequence '\p'
  [0, '$\pi/2$', '$\pi$', '$3\pi/2$', '$2\pi$'])
/tmp/ipykernel_2550/3479461785.py:3: SyntaxWarning: invalid escape sequence '\p'
  [0, '$\pi/2$', '$\pi$', '$3\pi/2$', '$2\pi$'])
/tmp/ipykernel_2550/3479461785.py:3: SyntaxWarning: invalid escape sequence '\p'
  [0, '$\pi/2$', '$\pi$', '$3\pi/2$', '$2\pi$'])
/tmp/ipykernel_2550/3479461785.py:3: SyntaxWarning: invalid escape sequence '\p'
  [0, '$\pi/2$', '$\pi$', '$3\pi/2$', '$2\pi$'])
/tmp/ipykernel_2550/3479461785.py:5: SyntaxWarning: invalid escape sequence '\p'
  plt.title("$sin(x)$ entre $0$ et $2\pi$ ")
<Figure size 400x200 with 1 Axes>
x = np.linspace(0, 2*np.pi, 50)
plt.figure(figsize=(10, 2))
plt.plot(x, np.sin(x))
<Figure size 1000x200 with 1 Axes>

exercice de plot

%matplotlib notebook
# votre code ici

exercice sauver une figure dans un fichier