la plus grande.) Si on veut un nombre de classes différent, il faut lui spécifier
par l’option bins. Essayez le programme suivant et observez le résultat.
1plt . clf ()
2plt . hist (L , bins =7)
Si on veut modifier les bornes gauches et droite, on peut également stipu-
ler exactement les extrémités des classes en entrant une liste à la place d’un
nombre dans l’option bins. Cela permet également de choisir exactement le
nombre de classes souhaitées. Essayez le programme suivant :
1plt . clf ()
2plt . hist (L , bins = range (1 ,9) )
ou
1plt . clf ()
2bins = range (1 ,9)
3plt . hist (L , bins )
On constate que les classes sont découpées de la manière suivante :
[1,2[ [2,3[,[3,4[,[4,5[,[5,6[,[6,7[ [7,8]
Remarquez que le dernier intervalle est fermé des deux côtés et que le dessin
se termine à 8et non à 7comme avant.
4. Pour l’instant, les largeurs de classes dans lesquelles il y a effectivement
des réalisations sont toutes identiques. On a donc bien un histogramme.
En revanche, si on différencie les différentes largeur, par exemple par
bins=[1,3,6,8] ou bins=[1,3,6,7] , on obtient "les mêmes hauteurs" (car
il n’y a pas d’individus de valeur 8dans L) ce qui n’est pas cohérent avec
la définition de l’histogramme. En effet, si la base double de longueur, pour
avoir une aire constante, il faudrait que la hauteur diminue de moitié !
Conclusion : la fonction de Python qui s’appelle hist dessine en
réalité des diagrammes améliorés (si on ne lui spécifie pas d’option
supplémentaire.) (Vous avez donc maintenant à disposition deux fonctions
permettant de dessiner des diagrammes.)
Pour finir, si on spécifie simplement à la commande hist le nombre de classes
en lesquelles il doit découper son graphique, afin d’éviter d’avoir des surprises,
on peut quand même lui imposer l’intervalle global sur lequel il doit analyser
les réalisations avec l’option range. Ainsi,
1plt . clf ()
2plt . hist (L , bins =10 , ra nge =[0 ,8])
va permettre d’avoir un graphique pour lequel on a découpé l’intervalle [0,8]
en 10 classes de largeur identiques. Cela reviendrait donc à faire :
1plt . clf ()
2plt . hist (L , bins = np . li nspa ce (0 ,8 ,11)
Exercice 2: Un histogramme, un vrai cette fois-ci. . .
Reprenons la liste Lde l’exercice précédent.
1. Afin de forcer Python à faire un histogramme avec notre définition, nous al-
lons lui donner l’option normed=True . Il dessinera donc un graphique tel que
l’aire des rectangles soit cette fois-ci proportionnelle aux effectifs des classes
et, cerise sur le gâteau, l’aire totale sera égale à 1. Ainsi, l’aire du rectangle cor-
respondra exactement à la proportion d’individus présents dans cette classe.
(à tester dans la question 2 ci-dessous.)
1plt . clf ()
2 — TD 6: Histogramme —