Différents Types de Graphique
Graphe avec des points
Un moyen simple de représenter ce type de données consiste à simplement afficher les points sans les lier :
Prenons l’exemple de tracer 1024 points où les coordonnées sont pries aléatoirement dans l’intervalle [0, 1] :
import numpy as np
import matplotlib.pyplot as plt
data = np.random.rand(1024, 2)
plt.scatter(data[:,0], data[:,1])
plt.show()
Nous obtenons le graphe suivant :
La fonction plt.scatter() fonctionne exactement comme plt.plot(), en prenant les coordonnées x et y des points comme paramètres d'entrée. Cependant, chaque point est simplement affiché avec un marqueur. En jouant avec ses nombreux paramètres facultatifs, nous pouvons obtenir de nombreux effets différents.
Graphe avec des barres
La fonction dédiée aux graphiques à barres est pyplot.bar(). Par exemple :
import matplotlib.pyplot as plt
data = [5., 25., 50., 20.]
plt.bar(range(len(data)), data)
plt.show()
Pour chaque valeur des données de la liste, une barre verticale s'affiche. La fonction pyplot.bar() reçoit deux arguments: la coordonnée x pour chaque barre et la hauteur de chaque barre. Ici, nous utilisons les coordonnées 0, 1, 2, et ainsi de suite, pour chaque barre, ce qui est l'objectif de la range(len(data)).
Si on veut afficher les barres horizontales, on utilise la fonction barh(), qui est l'équivalent strict de bar(), en plus de donner des barres horizontales plutôt que verticales:
import matplotlib.pyplot as plt
data = [5., 25., 50., 20.]
plt.barh(range(len(data)), data)
plt.show()
Nous pouvons tracer plusieurs graphiques à barres en jouant avec l'épaisseur et la position des barres comme suit:
import numpy as np
import matplotlib.pyplot as plt
data = [[5., 25., 50., 20.],
[4., 23., 51., 17.],
[6., 22., 52., 19.]]
X = np.arange(4)
plt.bar(X + 0.00, data[0], color = 'b', width = 0.25)
plt.bar(X + 0.25, data[1], color = 'g', width = 0.25)
plt.bar(X + 0.50, data[2], color = 'r', width = 0.25)
plt.show()
La variable data contient trois séries de quatre valeurs. Le script précédent affichera trois graphiques à barres de quatre barres. Les barres auront une épaisseur de 0.25 unités. Chaque graphique à barres sera décalé de 0.25 unité de la précédente. La couleur a été ajoutée pour plus de clarté.
Graphe avec des secteurs
Pour comparer l'importance relative des quantités, rien de tel qu'un bon vieux camembert. La fonction pyplot.pie() fera le travail :
import matplotlib.pyplot as plt
data = [5, 25, 50, 20]
plt.pie(data)
plt.show()
La fonction pyplot.pie() prend simplement une liste de valeurs en entrée. Notez que les données d'entrée sont une liste; ce pourrait être un tableau NumPy. Il vous suffit de donner des valeurs à matplolib et il calculera automatiquement les zones relatives du graphique à secteurs.
Tracer des histogrammes
Les histogrammes sont des représentations graphiques d'une distribution de probabilité. En fait, un histogramme n'est qu'un type spécifique de graphique à barres. Nous pourrions facilement utiliser la fonction de graphique à barres de matplotlib et faire des statistiques pour générer des histogrammes.
Le script suivant tire 1000 valeurs d'une distribution normale (distribution gaussienne), puis génère des histogrammes avec 20 cases (bins en anglais):
import numpy as np
import matplotlib.pyplot as plt
X = np.random.randn(1000)
plt.hist(X, bins = 20)
plt.show()
La fonction pyplot.hist() prend une liste de valeurs en entrée. La plage des valeurs sera divisée en cases de taille égale (20 cases dans notre exemple et par défaut 10 cases). La fonction pyplot.hist() générera un graphique à barres, une barre pour une case. La hauteur d'une barre est le nombre de valeurs suivant dans la case correspondant. Le nombre de cases est déterminé par l’option bins. En définissant le paramètre facultatif normed sur True, la hauteur de barre est normalisée et la somme de toutes les hauteurs de barre est égale à 1