Histograma en MATLAB

Ammar Ali 30 enero 2023
  1. Crear histograma de vectores en MATLAB
  2. Crear histograma categórico en MATLAB
  3. Crear histograma normalizado en MATLAB
  4. Trazar varios histogramas en la misma figura en MATLAB
  5. Guardar un histograma en MATLAB
  6. Histograma bivariado en MATLAB
Histograma en MATLAB

En este tutorial, discutiremos cómo trazar un histograma de datos dados usando la función histogram() e histogram2() en MATLAB.

Crear histograma de vectores en MATLAB

Para crear un histograma del vector dado, puede usar la función histogram() en MATLAB. Por ejemplo, creemos un histograma de un vector dado. Vea el código a continuación.

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

Producción :

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 un vector en Matlab

En el código anterior, creamos el histograma de un vector aleatorio. En la salida, las propiedades del histograma y podemos cambiar estas propiedades. Por ejemplo, cambiemos el color de la cara del histograma usando la propiedad FaceColor, el color del borde usando la propiedad EdgeColor y el número de bins usando la propiedad NumBins. Vea el código a continuación.

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

Producción:

Propiedades del histograma

El color de la cara del histograma cambia a verde, el color del borde cambia a rojo y el número de bins cambia a 10. También puede cambiar otras propiedades del histograma como desee.

Crear histograma categórico en MATLAB

También puede crear un histograma categórico utilizando la función histogram(). Puede definir valores en el array categórica como algunos nombres, etc., y debe darle a cada variable categórica un valor que se mostrará como altura en el histograma. Por ejemplo, creemos un histograma de tres variables categóricas: Yes, No y Not Sure. Vea el código a continuación.

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)

Producción:

Histograma de entrada categórica

En el código anterior, creamos un histograma categórico de tres variables. Hemos asignado a cada variable un valor diferente. Por ejemplo, asignamos el valor 7 a la variable Yes, 8 a la variable No y 9 a la variable Not Sure. El valor 7 repetido siete veces en la variable Vector significa que la variable Yes se mostrará en un histograma con altura 7 y así sucesivamente. Puede agregar tantas variables categóricas como desee en el histograma.

Crear histograma normalizado en MATLAB

Podemos normalizar un histograma usando la propiedad Normalization dentro de la función histogram(). Por ejemplo, creemos un histograma a partir de números aleatorios y luego lo normalicemos usando la propiedad Normalización. Vea el código a continuación.

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

Producción:

Normalización del histograma

El histograma anterior se normaliza mediante la normalización de probabilidad. También puede utilizar otras normalizaciones, como la normalización de recuento.

Trazar varios histogramas en la misma figura en MATLAB

También podemos trazar múltiples histogramas en la misma figura usando la función hold. Por ejemplo, tracemos dos histogramas en la misma figura. Vea el código a continuación.

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

Producción:

Trazado de varios histogramas

En el código anterior, trazamos dos histogramas en la misma figura. Puede trazar tantos gráficos como desee en la misma figura, y MATLAB les dará un color separado automáticamente. También puede darle a cada histograma el color que desee. También puede agregar leyendas a los histogramas usando la función legend() para separarlos entre sí.

Guardar un histograma en MATLAB

Puede guardar un histograma usando la función savefig() en MATLAB, y puede cargar el histograma guardado usando la función openfig(). Vea el código a continuación.

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

En el código anterior, Hist es la variable donde se almacena el histograma. Consulte este enlace para obtener más información.

Histograma bivariado en MATLAB

Si desea crear un histograma de dos variables, puede utilizar la función histogram2(). Por ejemplo, tracemos un histograma de dos vectores. Vea el código a continuación.

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

Producción:

Histograma bivariado

En el código anterior, trazamos un histograma bivariado de dos vectores. También puede agregar una barra de color usando la función colorbar, que agregará colores al histograma de acuerdo con la altura de los contenedores. El color de los contenedores cambiará de más frío a más caliente con un aumento en la altura del contenedor y viceversa. Por ejemplo, agreguemos una barra de color al histograma bivariado anterior. Vea el código a continuación.

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

Producción:

Barra de color de histograma bivariante

También puede cambiar la vista del histograma usando la función view(). Por ejemplo, cambiemos la vista del histograma bivariado anterior de 3D a 2D. Vea el código a continuación.

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

Producción:

vista de histograma bivariado

También puede cambiar otras propiedades del histograma bivariado utilizando la misma función y propiedades que se utilizan en los histogramas anteriores. Por ejemplo, puede cambiar el color de la cara usando la propiedad FaceColor, el color del borde usando la propiedad EdgeColor, el número de bins usando la propiedad NumBins y la normalización usando la propiedad Normalization, etc. y cargue los histogramas bivariados usando las funciones savefig() y openfig(). Consulte este enlace para obtener más información.

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

Artículo relacionado - MATLAB Plot