Histograma em MATLAB

Ammar Ali 15 fevereiro 2024
  1. Criar Histograma de Vetores no MATLAB
  2. Criar histograma categórico no MATLAB
  3. Crie um histograma normalizado no MATLAB
  4. Plotar vários histogramas na mesma figura no MATLAB
  5. Salvar um histograma no MATLAB
  6. Histograma bivariado no MATLAB
Histograma em MATLAB

Neste tutorial, discutiremos como plotar um histograma de dados fornecidos usando as funções histogram() e histogram2() no MATLAB.

Criar Histograma de Vetores no MATLAB

Para criar um histograma de um determinado vetor, você pode usar a função histogram() no MATLAB. Por exemplo, vamos criar um histograma de um determinado vetor. Veja o código abaixo.

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

Resultado:

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]

Histograma de um vetor em Matlab

No código acima, criamos o histograma de um vetor aleatório. Na saída, as propriedades do histograma, e podemos alterar essas propriedades. Por exemplo, vamos mudar a cor da face do histograma usando a propriedade FaceColor, a cor da borda usando a propriedade EdgeColor e, o número de bins usando a propriedade NumBins. Veja o código abaixo.

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

Resultado:

Propriedades do histograma

A cor da face do histograma é alterada para verde, a cor da borda é alterada para vermelho e o número de compartimentos é alterado para 10. Você também pode alterar outras propriedades do histograma como desejar.

Criar histograma categórico no MATLAB

Você também pode criar um histograma categórico usando a função histogram(). Você pode definir valores na matriz categórica, como alguns nomes, etc., e deve dar a cada variável categórica um valor que será mostrado como altura no histograma. Por exemplo, vamos criar um histograma de três variáveis ​​categóricas: Yes, No e Not Sure. Veja o código abaixo.

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)

Resultado:

Histograma de entrada categórica

No código acima, criamos um histograma categórico de três variáveis. Atribuímos a cada variável um valor diferente. Por exemplo, atribuímos o valor 7 à variável Yes, 8 à variável No e 9 à variável Not Sure. O valor 7 repetido sete vezes na variável Vetor significa que a variável Yes será mostrada em um histograma com altura 7 e assim por diante. Você pode adicionar quantas variáveis ​​categóricas desejar no histograma.

Crie um histograma normalizado no MATLAB

Podemos normalizar um histograma usando a propriedade Normalization dentro da função histogram(). Por exemplo, vamos criar um histograma de números aleatórios e depois normalizá-lo usando a propriedade Normalization. Veja o código abaixo.

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

Resultado:

Normalização de histograma

O histograma acima é normalizado usando normalização de probabilidade. Você também pode usar outras normalizações, como normalização de contagem.

Plotar vários histogramas na mesma figura no MATLAB

Também podemos plotar vários histogramas na mesma figura usando a função hold. Por exemplo, vamos plotar dois histogramas na mesma figura. Veja o código abaixo.

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

Resultado:

Traçando vários histogramas

No código acima, traçamos dois histogramas na mesma figura. Você pode plotar quantos gráficos quiser na mesma figura, e o MATLAB dará a eles uma cor separada automaticamente. Você também pode dar a cada histograma a cor desejada. Você também pode adicionar legendas aos histogramas usando a função legend() para separá-los uns dos outros.

Salvar um histograma no MATLAB

Você pode salvar um histograma usando a função savefig() no MATLAB e pode carregar o histograma salvo usando a função openfig(). Veja o código abaixo.

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

No código acima, Hist é a variável onde o histograma é armazenado. Verifique este link para mais informações.

Histograma bivariado no MATLAB

Se você deseja criar um histograma de duas variáveis, você pode usar a função histogram2(). Por exemplo, vamos plotar um histograma de dois vetores. Veja o código abaixo.

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

Resultado:

Histograma bivariado

No código acima, traçamos um histograma bivariado de dois vetores. Você também pode adicionar uma barra de cores usando a função colorbar, que adicionará cores ao histograma de acordo com a altura das caixas. A cor das caixas mudará de mais fria para mais quente com o aumento da altura da caixa e vice-versa. Por exemplo, vamos adicionar uma barra de cores ao histograma bivariado acima. Veja o código abaixo.

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

Resultado:

Barra de cores do histograma bivariado

Você também pode alterar a visualização do histograma usando a função view(). Por exemplo, vamos mudar a visualização do histograma bivariado acima de 3D para 2D. Veja o código abaixo.

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

Resultado:

visualização bivariada de histograma

Você também pode alterar outras propriedades do histograma bivariado usando a mesma função e propriedades usadas nos histogramas acima. Por exemplo, você pode alterar a cor da face usando a propriedade FaceColor, cor da borda usando a propriedade EdgeColor, número de bins usando a propriedade NumBins e normalização usando a propriedade Normalization, etc. Você também pode salvar e carregue os histogramas bivariados usando as funções savefig() e openfig(). Verifique este link para mais informações.

Autor: 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

Artigo relacionado - MATLAB Plot