Représentation graphique en Python☘
Cette page donne quelques éléments de code Python pour représenter des points
dans un repère. On utilise pour cela la bibliothèque
matplotlib
.
Installer la bibliothèque matplotlib
Cette bibliothèque n'est pas inclusepar défaut dans Python.
Pour l'installer, il faut la télécharger selon une méthode analogue
à celle de l'installation du module PIL
L'instruction d'installation est :
>>> pip install matplotlib
Chaque programme Python doit être sauvegardé sous forme de fichier texte
avec l'extension .py
.
Enregistrez ce fichier dans le dossier [G06_Algo_KNN]
avec le nom
donné à l'exercice : ProgG06.51.py
, ProgG06.52.py
, etc...
Memento
Un memento des instructions usuelles utilisables avec la bibliothèque
matplotlib
peut être téléchargé en cliquant ici.
ProgG06.51 - Tracer un point dans un repère☘
-
Copiez, collez puis exécutez le code ci-dessous.
1 2 3 4 5 6 7 8 9 10 11
# import de la bibliothèque pour nos figures import matplotlib.pyplot as plt # dessin d'un point de coordonnées (2 ; 3), # représenté par un carré ( 's' pour square) # de couleur noir (k) # de taille 10 plt.plot(2, 3, marker='s', color='k', markersize=10) # pour lancer la construction de la figure à l'écran plt.show()
Image à obtenir
-
Modifiez la forme, la couleur, la taille et/ou les coordonnées du point pour bien comprendre les différents paramètres utilisés.
ProgG06.52 - Tracer un nuage de points dans un repère☘
On représente maintenant une série de points. Pour cela, on regroupe les
abscisses de ces points dans un tableau (liste Python) noté X
et les
ordonnées dans un tableau noté Y
.
-
Copiez, collez puis exécutez le code ci-dessous.
1 2 3 4 5 6 7 8 9
import matplotlib.pyplot as plt X = [0, 1, 2, 3, 4] Y = [0, 1, 4, 9, 16] # points de couleur cyan (c), de forme hexagonale (h) # on ne relie pas les points (linestyle = '') plt.plot(X, Y, marker='h', color='c', markersize=20, linestyle='') plt.show()
Image à obtenir
-
Notez sur votre cahier les coordonnées des points placés dans ce repère.
Réponse
Les points placés ci-dessus sont donc les points de coordonnées (0 ; 0), (1 ; 1), (2 ; 4), (3 ; 9) et (4 ; 16).
-
Modifiez ce programme pour tracer la courbe représentative de la fonction f définie par f(x) = x^3 - 27 x pour les valeurs de x entières et comprises entre 0 et 7.
Image à obtenir
Valeurs de
linestyle
Les valeurs pour
linestyle
(ouls
en abrégé) sont :'solid'
'dashed'
'dashdot'
'dotted'
'-'
'--'
'-.'
':'
'None'
' '
''
(chaîne vide)
Un code possible
1 2 3 4 5 6 7 8 9
import matplotlib.pyplot as plt X = [i for i in range(8)] Y = [x**3-27*x for x in X] # points de couleur cyan (c), de forme hexagonale (h) # on ne relie pas les points (linestyle = '') plt.plot(X, Y, marker='o', color='m', markersize=10, linestyle='--') plt.show()
ProgG06.53 - Nuage issu d'un dictionnaire☘
Pour cet exercice, vous pouvez télécharger le fichier à compléter.
On considère un nuage de points où chaque point est défini comme un dictionnaire possédant trois clefs :
'x'
pour l'abscisse du point ;'y'
pour l'ordonnée du point ;'forme'
pour la forme du point dans le repère ('croix'
,'carre'
ou'triangle'
).
Un exemple de nuage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
Compléter la définition de la fonction affichage()
en respectant ses
spécifications et en utilisant les instructions mises en œuvre dans les
deux exercices précédents.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Affichage du nuage de l'exemple
Une piste
Voici les « marker
» qui correspondent à chaque forme :
- carré :
's'
- croix :
'+'
- triangle :
'v'
Une solution possible
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|