Diagramme en secteurs

import matplotlib.pyplot as plt
import numpy as np

Graphe “camembert”

Le graphique circulaire ou graphique circulaire affiche des valeurs numériques sous forme de tranches de gâteau (pie chart en anglais).

n = 4
x = range(1, n)
plt.pie(x, labels=x, shadow=True);
../_images/pie_3_0.png

Cette fois nous avons 10 valeurs avec une distribution uniforme dans l’intervalle \([0, 1]\).

n = 10
Z = np.random.uniform(0, 1, n)
plt.pie(Z, labels=range(n));
../_images/pie_5_0.png

Tranches explosées

L’option explode permet de faire ressortir les tranches. C’est une liste avec le même nombre d’éléments qu’il y a des tranches. La valeur est de 0 à 1 et indique la fraction du rayon pour laquelle la tranche ressort.

plt.pie(Z, labels=range(n), explode=[0.1]*n);
../_images/pie_7_0.png

Ici seulement la première tranche ressort, d’une valeur de 0.5.

plt.pie(Z, labels=range(n), explode=[0.5] + [0]*(n-1));
../_images/pie_9_0.png

Diagramme escalier

Le diagramme escalier (step chart en anglais) relie deux points de données avec des lignes horizontales et verticales.

La valeur par défaut de l’option where='pre'. La marche commence avec le point.

n = 7
y = range(n)
plt.step(y, 'o-');
../_images/pie_11_0.png

Avec where='mid' le point est au milieu de la marche, et le déplacement vertical est au milieu entre deux points.

plt.step(y, 'o-', where='mid');
../_images/pie_13_0.png
plt.step(y, 'o-', where='post');
../_images/pie_14_0.png

Données aléatoires

n = 20
x = np.random.uniform(0, 1, n)
y = np.random.uniform(0, 1, n)

plt.plot(x, y, 'o-');
../_images/pie_16_0.png
plt.step(x, y, 'o-');
../_images/pie_17_0.png

Contour plot

def f(x,y): 
    return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)

n = 256
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)
X, Y = np.meshgrid(x, y)

plt.contourf(X, Y, f(X,Y), 8, alpha=.75, cmap='jet')
plt.contour(X, Y, f(X,Y), 8, colors='black');
../_images/pie_19_0.png