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

 

Modifié le: lundi 11 mai 2020, 12:23