Matplotlib - Istogramma

Un istogramma è una rappresentazione accurata della distribuzione dei dati numerici. È una stima della distribuzione di probabilità di una variabile continua. È una specie di grafico a barre.

Per costruire un istogramma, segui questi passaggi:

  • Bin l'intervallo di valori.
  • Dividi l'intero intervallo di valori in una serie di intervalli.
  • Contare quanti valori rientrano in ogni intervallo.

I bin sono generalmente specificati come intervalli consecutivi e non sovrapposti di una variabile.

Il matplotlib.pyplot.hist()la funzione traccia un istogramma. Calcola e disegna l'istogramma di x.

Parametri

La tabella seguente elenca i parametri per un istogramma:

X matrice o sequenza di matrici
bidoni numero intero o sequenza o 'auto', opzionale
parametri opzionali
gamma La gamma inferiore e superiore dei bidoni.
densità Se True, il primo elemento della tupla di ritorno saranno i conteggi normalizzati per formare una densità di probabilità
cumulativo Se True, viene calcolato un istogramma in cui ogni bin fornisce i conteggi in quel bin più tutti i bin per valori inferiori.
histtype Il tipo di istogramma da disegnare. L'impostazione predefinita è "bar"
  • "bar" è un istogramma di tipo barra tradizionale. Se vengono forniti più dati, le barre vengono disposte una accanto all'altra.
  • "barstacked" è un istogramma di tipo barra in cui più dati sono impilati uno sopra l'altro.
  • 'step' genera un lineplot che per impostazione predefinita non è compilato.
  • 'stepfilled' genera un lineplot riempito per impostazione predefinita.

L'esempio seguente traccia un istogramma dei voti ottenuti dagli studenti in una classe. Sono definiti quattro bin, 0-25, 26-50, 51-75 e 76-100. L'istogramma mostra il numero di studenti che rientrano in questo intervallo.

from matplotlib import pyplot as plt
import numpy as np
fig,ax = plt.subplots(1,1)
a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
ax.hist(a, bins = [0,25,50,75,100])
ax.set_title("histogram of result")
ax.set_xticks([0,25,50,75,100])
ax.set_xlabel('marks')
ax.set_ylabel('no. of students')
plt.show()

La trama appare come mostrato di seguito -