Graphiques#

Dès la seconde

Cette partie réinvestit le tracé découvert dans la page « Données ». Construire un graphique ne consiste pas seulement à choisir une couleur : il faut déterminer les points à calculer, choisir une représentation adaptée, régler le repère et conserver un regard critique sur l’image obtenue.

Tracer une fonction sur un intervalle#

Le module matplotlib reçoit une liste d’abscisses x et une liste d’ordonnées y de même longueur. Pour tracer une fonction, on choisit d’abord un intervalle \([a;b]\), puis on le découpe en n sous-intervalles de même largeur. On obtient ainsi n + 1 points, bornes comprises.

Exemple
Courbe d’une fonction polynôme
Prêt
Sortie

Le programme sépare quatre choix : la fonction, l’intervalle, le nombre de subdivisions et le type de tracé. On peut donc remplacer f sans modifier la boucle. À l’inverse, augmenter n ne change pas la fonction : cela fournit seulement davantage de points à matplotlib.

Rendre le graphique lisible#

Un graphique doit pouvoir être compris sans relire le programme. Un titre, le nom des axes, une grille et une légende précisent ce qui est représenté. Les axes du repère peuvent être ajoutés avec axhline et axvline.

Exemple
Construire un repère lisible
Prêt
Sortie

Les commandes xlim et ylim fixent la fenêtre visible. Change plt.ylim(-2, 10) en plt.ylim(-20, 40) : la courbe est identique, mais ses variations paraissent moins marquées. Le choix du repère influence donc la lecture, jamais les valeurs de la fonction.

Comparer plusieurs fonctions#

Dès la première

Plusieurs appels à plot avant show placent plusieurs courbes dans le même repère. Il faut alors conserver les mêmes abscisses et identifier chaque fonction par une légende.

Exemple
Comparer trois paraboles
Prêt
Sortie

La deuxième parabole est translatée horizontalement ; la troisième paraît plus resserrée. Le graphique aide à formuler ces observations, mais ne les démontre pas. De même, une intersection lue sur la figure fournit une valeur approchée qu’un calcul doit confirmer.

Courbe, nuage ou points isolés ?#

Relier des points par des segments suggère que des valeurs intermédiaires ont un sens. Ce choix convient à la courbe approchée d’une fonction ou à une évolution continue, mais pas toujours à une suite ou à un ensemble de mesures.

Choisir une représentation#

Commande

Représentation

Exemple d’usage

plt.plot(x, y)

points reliés

fonction ou évolution ordonnée

plt.scatter(x, y)

nuage de points

mesures ou termes d’une suite

plt.bar(x, y)

barres séparées

effectifs par catégorie

plt.hist(valeurs)

répartition par classes

distribution d’un échantillon

L’histogramme est utilisé plus loin dans la page « Simulations ». Ici, la suite définie par \(u_0=20\) et \(u_{n+1}=0{,}75u_n+2\) n’existe qu’aux rangs entiers : un nuage de points respecte cette nature discrète.

Exemple
Représenter les termes d’une suite
Prêt
Sortie

Remplace scatter par plot puis par plot(rangs, termes, "o-"). Les valeurs calculées ne changent pas, mais les segments ajoutés peuvent donner l’impression que la suite possède des valeurs entre deux rangs entiers.

Tracer une courbe paramétrée#

Une courbe peut être décrite par deux coordonnées qui dépendent d’un même paramètre. Lorsque \(t\) parcourt \([0;2\pi]\), les relations

\[x(t)=a\cos(t),\qquad y(t)=b\sin(t)\]

décrivent une ellipse. Pour \(a=b\), on obtient un cercle.

Exemple
Tracer une ellipse
Prêt
Sortie

L’instruction axis("equal") impose la même échelle sur les deux axes. Sans elle, même un cercle peut sembler elliptique. Modifie a et b, puis vérifie sur le graphique les quatre points d’intersection avec les axes.

Un graphique peut être trompeur#

Un tracé est construit à partir des seules valeurs calculées. matplotlib ne connaît ni les variations de la fonction entre deux points, ni son domaine de définition. Il relie simplement les points dans l’ordre fourni.

Un pas trop grand#

La fonction \(x\mapsto\sin(8x)\) oscille huit fois sur \([0;2\pi]\). Un choix malheureux de seulement seize subdivisions rencontre presque uniquement des zéros et masque ces oscillations.

Exemple
Comparer deux échantillonnages
Prêt
Sortie

Une courbe apparemment régulière ne garantit donc pas que le nombre de points est suffisant. Il est utile de recommencer avec un pas plus petit et de vérifier si l’allure se stabilise.

Une fonction discontinue#

Le premier programme ignore bien \(x=0\), où la fonction inverse n’est pas définie. Pourtant, la liste place les valeurs négatives puis positives à la suite : plot relie donc les deux côtés de la courbe par un segment qui n’a aucun sens mathématique.

Exemple
Un segment qui ne devrait pas exister
Prêt
Sortie

Pour éviter cette fausse liaison, on construit une liste de chaque côté de la valeur interdite et on effectue deux tracés séparés.

Exemple
Séparer les deux branches
Prêt
Sortie

Avant d’interpréter un graphique, trois contrôles sont donc utiles : vérifier le domaine de définition, diminuer le pas et essayer une autre fenêtre.

Mise en pratique#

1. Tracer une fonction polynôme. Représenter \(f(x)=x^2-3x+2\) sur \([-2;5]\) en ajoutant un titre, le nom des axes, les axes du repère et une grille.

À toi
Tracer une fonction polynôme
À faire
Sortie

2. Comparer deux fonctions. Dans un même repère, tracer \(f(x)=x^2-4\) et \(g(x)=2x-1\) sur \([-4;4]\). Estimer graphiquement les abscisses des points d’intersection, puis contrôler ces valeurs par le calcul.

À toi
Comparer deux courbes
À faire
Sortie

3. Représenter une suite. Pour \(u_0=1\) et \(u_{n+1}=0{,}6u_n+4\), calculer les quinze premiers termes et les représenter par des points isolés. Ajouter la droite horizontale d’équation \(y=10\), puis commenter l’évolution observée.

À toi
Représenter une suite par des points
À faire
Sortie

4. Modifier une courbe paramétrée. Tracer l’ellipse définie par \(x(t)=4\cos(t)\) et \(y(t)=\sin(t)\) pour \(t\in[0;2\pi]\). Utiliser la même échelle sur les deux axes et faire apparaître les axes du repère.

À toi
Tracer une ellipse aplatie
À faire
Sortie

Choisir une autre partie