Histograma em MATLAB
- Criar Histograma de Vetores no MATLAB
- Criar histograma categórico no MATLAB
- Crie um histograma normalizado no MATLAB
- Plotar vários histogramas na mesma figura no MATLAB
- Salvar um histograma no MATLAB
- Histograma bivariado no 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]
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:
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:
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:
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:
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:
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:
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:
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.