Istogramma in MATLAB

Ammar Ali 30 gennaio 2023
  1. Crea istogramma di vettori in MATLAB
  2. Crea un istogramma categoriale in MATLAB
  3. Crea un istogramma normalizzato in MATLAB
  4. Traccia più istogrammi sulla stessa figura in MATLAB
  5. Salva un istogramma in MATLAB
  6. Istogramma bivariato in MATLAB
Istogramma in MATLAB

In questo tutorial, discuteremo come tracciare un istogramma di dati dati usando le funzioni histogram() e histogram2() in MATLAB.

Crea istogramma di vettori in MATLAB

Per creare un istogramma del vettore dato, puoi usare la funzione istogramma() in MATLAB. Ad esempio, creiamo un istogramma di un dato vettore. Vedi il codice qui sotto.

vector = randn(100,1);
HG = histogram(vector)

Produzione:

HG = 

  Histogram with properties:

             Data: [100x1 double]
           Values: [2 18 29 31 17 3]
          NumBins: 6
         BinEdges: [-3 -2 -1 0 1 2 3]
         BinWidth: 1
        BinLimits: [-3 3]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0 0 0]

Istogramma di un vettore in Matlab

Nel codice sopra, abbiamo creato l’istogramma di un vettore casuale. Nell’output, le proprietà dell’istogramma e possiamo modificare queste proprietà. Ad esempio, cambiamo il colore della faccia dell’istogramma usando la proprietà FaceColor, il colore del bordo usando la proprietà EdgeColor e, il numero di contenitori usando la proprietà NumBins. Vedi il codice qui sotto.

vector = randn(100,1);
HG = histogram(vector);
HG.FaceColor = 'g';
HG.EdgeColor = 'r';
HG.NumBins = 10;

Produzione:

Proprietà istogramma

Il colore della faccia dell’istogramma viene cambiato in verde, il colore del bordo è cambiato in rosso e il numero di contenitori è cambiato in 10. Puoi anche modificare le altre proprietà dell’istogramma a tuo piacimento.

Crea un istogramma categoriale in MATLAB

È inoltre possibile creare un istogramma categoriale utilizzando la funzione histogram(). È possibile definire valori nell’array categoriale come alcuni nomi ecc., E si deve assegnare a ciascuna variabile categoriale un valore che verrà mostrato come altezza nell’istogramma. Ad esempio, creiamo un istogramma di tre variabili categoriali: Yes, No e Not Sure. Vedi il codice qui sotto.

Vector = [7 7 7 8 8 8 8 9 7 8 8 8 7 8 7 8 7 8 8 8];
Cat = categorical(Vector,[7 8 9],{'Yes','No','Not Sure'});
HG = histogram(Cat)

Produzione:

Istogramma dell’input categoriale

Nel codice sopra, abbiamo creato un istogramma categoriale di tre variabili. Abbiamo assegnato a ciascuna variabile un valore diverso. Ad esempio, abbiamo assegnato il valore 7 alla variabile Yes, 8 alla variabile No e 9 alla variabile Non sono sicuro. Il valore 7 ripetuto sette volte nella variabile Vector significa che la variabile Yes verrà mostrata in un istogramma con altezza 7 e così via. Puoi aggiungere tutte le variabili categoriali che desideri nell’istogramma.

Crea un istogramma normalizzato in MATLAB

Possiamo normalizzare un istogramma usando la proprietà Normalization all’interno della funzione histogram(). Ad esempio, creiamo un istogramma da numeri casuali e poi normalizziamolo utilizzando la proprietà Normalization. Vedi il codice qui sotto.

clc
vector = randn(100,1);
HG = histogram(vector,'Normalization','probability')

Produzione:

Normalizzazione dell’istogramma

L’istogramma sopra è normalizzato utilizzando la normalizzazione della probabilità. Puoi usare anche altre normalizzazioni, come la normalizzazione del conteggio.

Traccia più istogrammi sulla stessa figura in MATLAB

Possiamo anche tracciare più istogrammi sulla stessa figura utilizzando la funzione hold. Ad esempio, tracciamo due istogrammi sulla stessa figura. Vedi il codice qui sotto.

vector = randn(100,1);
HG1 = histogram(vector)
hold on
vector = 5+randn(100,1);
HG2 = histogram(vector)

Produzione:

Rappresentazione grafica di più istogrammi

Nel codice sopra, abbiamo tracciato due istogrammi sulla stessa figura. Puoi tracciare tutti i grafici che desideri sulla stessa figura e MATLAB assegnerà loro automaticamente un colore separato. Puoi anche assegnare a ciascun istogramma il colore desiderato. Puoi anche aggiungere legende agli istogrammi usando la funzione legend() per separarli l’uno dall’altro.

Salva un istogramma in MATLAB

Puoi salvare un istogramma usando la funzione savefig() in MATLAB, e puoi caricare l’istogramma salvato usando la funzione openfig(). Vedi il codice qui sotto.

savefig('Hist.fig');
close gcf
histogram = openfig('Hist.fig');

Nel codice sopra, Hist è la variabile in cui è memorizzato l’istogramma. Controlla questo link per ulteriori informazioni.

Istogramma bivariato in MATLAB

Se vuoi creare un istogramma di due variabili, puoi usare la funzione histogram2(). Ad esempio, tracciamo un istogramma di due vettori. Vedi il codice qui sotto.

vector1 = randn(100,1);
vector2 = randn(100,1);
HG = histogram2(vector1,vector2)

Produzione:

Istogramma bivariato

Nel codice sopra, abbiamo tracciato un istogramma bivariato da due vettori. Puoi anche aggiungere una barra dei colori usando la funzione barra dei colori, che aggiungerà colori all’istogramma in base all’altezza dei contenitori. Il colore dei contenitori cambierà da più freddo a più caldo con un aumento dell’altezza del contenitore e viceversa. Ad esempio, aggiungiamo una barra dei colori all’istogramma bivariato sopra. Vedi il codice qui sotto.

vector1 = randn(100,1);
vector2 = randn(100,1);
HG = histogram2(vector1,vector2,[12 12],'FaceColor','flat')
colorbar

Produzione:

Barra dei colori dell’istogramma bivariata

È inoltre possibile modificare la visualizzazione dell’istogramma utilizzando la funzione view(). Ad esempio, cambiamo la visualizzazione dell’istogramma bivariato sopra da 3D a 2D. Vedi il codice qui sotto.

vector1 = randn(100,1);
vector2 = randn(100,1);
HG = histogram2(vector1,vector2,[12 12],'FaceColor','flat')
colorbar
view(2)

Produzione:

visualizzazione istogramma bivariata

È inoltre possibile modificare altre proprietà dell’istogramma bivariato utilizzando la stessa funzione e proprietà utilizzate negli istogrammi precedenti. Ad esempio, puoi cambiare il colore del viso usando la proprietà FaceColor, il colore del bordo usando la proprietà EdgeColor, il numero di contenitori usando la proprietà NumBins e la normalizzazione usando la proprietà Normalization, ecc. Puoi anche salvare e caricare gli istogrammi bivariati utilizzando le funzioni savefig() e openfig(). Controlla questo link per ulteriori informazioni.

Autore: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Articolo correlato - MATLAB Plot