Mapa de color de MATLAB

Ammar Ali 15 febrero 2024
  1. Trazar un mapa de colores usando la función mesh() en MATLAB
  2. Trazar un mapa de colores usando la función meshc() en MATLAB
  3. Trazar un mapa de colores usando la función meshz() en MATLAB
  4. Trazar un mapa de colores usando la función surf() en MATLAB
Mapa de color de MATLAB

En este tutorial, discutiremos cómo podemos trazar un mapa de color usando las funciones mesh(), meshc(), meshz() y surf() en MATLAB.

Trazar un mapa de colores usando la función mesh() en MATLAB

Para trazar el mapa de color del array dada, puede usar la función mesh(), que traza la variable en un eje x e y dado. Si no se dan las coordenadas, utilizará los índices del array como coordenadas. La función mesh() traza un array dada como alturas en la coordenada dada. Para proporcionar las coordenadas como entrada a la función mesh(), debe utilizar la función meshgrid() para hacer una malla de coordenadas en la que se trazará el array dada. Vea el código a continuación.

a = 0:0.1:10;
z = [sin(a);sin(a)];
mesh(z)
colorbar

Producción:

Matlab ColorMap usando la función mesh - 1

En el código anterior, trazamos el mapa de colores de una onda sinusoidal. El mapa de colores asigna el valor más bajo al color más frío y el valor más alto al color más caliente. Puede ver en la figura, a medida que aumenta el valor de la onda sinusoidal, el color cambia de una región más fría a una región más caliente y viceversa. También puede mostrar la barra de colores utilizando la función colorbar. Desde la barra de color, puede ver qué valor se asigna a qué color. También puede cambiar el mapa de colores a su rango de colores deseado usando la función colormap. Por ejemplo, tracemos la onda sinusoidal anterior en un mapa de colores de verano. Vea el código a continuación.

a = 0:0.1:10;
z = [sin(a);sin(a)];
mesh(z)
colormap summer
colorbar

Producción:

Matlab ColorMap usando la función de malla - 2

Ahora, tracemos un array en una coordenada dada. Primero, tenemos que crear una cuadrícula de malla usando la función meshgrid() y luego pasar las coordenadas junto con el array para trazar el array dada en coordenadas dadas. Vea el código de ejemplo a continuación.

a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
mesh(x,y,z)
colorbar

Producción:

Matlab ColorMap - 3

Puede ver que las coordenadas x e y son exactamente las mismas que las coordenadas dadas en la figura anterior. Puede trazar el array dada en cualquier coordenada x e y. Ahora, cambiemos este gráfico 3D a 2D con la ayuda de la función view(). Esta función cambia la vista del gráfico. Usando esta función, solo podemos ver dos coordenadas. Consulte el siguiente código.

a = 0:0.1:30;
z = [sin(a); sin(a)];
mesh(z)
colorbar
view(2)

Producción:

Matlab ColorMap - 4

En el código anterior, hemos trazado la onda sinusoidal y hemos cambiado el trazado de 3D a 2D usando la función view(). Puede ver en la figura, a medida que aumenta el valor de la onda sinusoidal, el color cambia de una región más fría a una región más caliente y viceversa. Puede ver la barra de color para comprobar qué valor se asigna a qué color. También puede cambiar otras propiedades de malla como el color del borde usando la propiedad EdgeColor, el estilo de línea usando la propiedad LineColor, el color de la cara usando la propiedad FaceColor, etc. Por ejemplo, cambiemos el color de la cara a plano usando el Propiedad FaceColor en la función mesh(). Vea el código a continuación.

a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
mesh(x,y,z,'FaceColor','Flat')
colorbar

Producción:

Matlab ColorMap - 5

En el código anterior, cambiamos el color de la cara del gráfico de malla a plano, lo que significa que la superficie del gráfico será plana, como se muestra en la figura anterior. Consulte este enlace para obtener más información sobre la función y las propiedades de mesh().

Trazar un mapa de colores usando la función meshc() en MATLAB

Para trazar el mapa de color del array dada, puede usar la función meshc(), que traza el mapa de color de la variable en un eje x e y dado y agrega el gráfico de contorno debajo del gráfico de malla. Si no se dan las coordenadas, utilizará los índices del array como coordenadas. La función meshc() traza un array dada como alturas en la coordenada dada. Para dar las coordenadas como entrada a la función meshc(), debe usar la función meshgrid() para hacer una malla de coordenadas en la que se trazará el array dada. Por ejemplo, tracemos un array. Vea el código a continuación.

a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
meshc(x,y,z)
colorbar

Producción:

Mapa de colores de Matlab - 6

También puede cambiar el mapa de colores a la gama de colores que desee utilizando la función colormap. Por ejemplo, tracemos la onda sinusoidal anterior en un mapa de colores de verano. Vea el código a continuación.

a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
meshc(x,y,z)
colorbar
colormap winter

Producción:

Matlab ColorMap - 7

También puede cambiar el color del borde de la malla y el color del borde del contorno usando la propiedad EdgeColor en la función meshc(). Consulte el siguiente código.

a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
sc = meshc(x,y,z)
sc(1).EdgeColor = 'r';
sc(2).EdgeColor = 'b';
colorbar

Producción:

Matlab ColorMap - 8

En el código anterior, cambiamos el color del borde del gráfico de malla a rojo y el color del borde del gráfico de contorno a azul. Puede seleccionar cualquier color que desee de los colores disponibles. También puede cambiar la posición del gráfico de contorno en la figura. Por ejemplo, cambiemos la posición de la gráfica de contorno y grafiquemos en el eje z usando la propiedad Zlocation. Vea el código a continuación.

a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
sc = meshc(x,y,z)
sc(2).ZLocation = 'zmax';
colorbar

Producción:

Matlab ColorMap - 9

Consulte este enlace para obtener más información sobre la función meshc().

Trazar un mapa de colores usando la función meshz() en MATLAB

Para trazar el mapa de color del array dada, puede usar la función meshz(), que traza el mapa de color de la variable en un eje x e y dado y agrega la cortina debajo del gráfico de malla. Si no se dan las coordenadas, utilizará los índices del array como coordenadas. La función meshz() traza un array dada como alturas en la coordenada dada. Para dar las coordenadas como entrada a la función meshz(), debe usar la función meshgrid() para hacer una malla de coordenadas en la que se trazará el array dada. Por ejemplo, tracemos un array. Vea el código a continuación.

a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
meshz(x,y,z)
colorbar

Producción:

Mapa de colores de Matlab - 10

También puede cambiar el mapa de colores a la gama de colores que desee utilizando la función colormap. Por ejemplo, tracemos la onda sinusoidal anterior en un mapa de colores de verano. Vea el código a continuación.

a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
meshz(x,y,z)
colorbar
colormap winter

Producción:

Mapa de colores de Matlab - 11

También puede cambiar el color del borde de la malla usando la propiedad EdgeColor en la función meshz(). Consulte el siguiente código.

a = 0:0.1:10;
b = 0:10;
[x,y] = meshgrid(a,b);
z = sin(x) + sin(y);
sc = meshz(x,y,z)
sc(1).EdgeColor = 'g';

Producción:

Mapa de colores de Matlab - 12

En el código anterior, cambiamos el color del borde del gráfico de malla a azul. Puede seleccionar cualquier color que desee de los colores disponibles. Consulte este enlace para obtener más detalles sobre la función meshz().

Trazar un mapa de colores usando la función surf() en MATLAB

La función surf() funciona igual que la función mesh() con una sola diferencia de que la función surf() traza el array con colores de cara sólidos mientras que la función mesh() traza el array sin cara colores. Aparte de esta única diferencia, surf() y mesh() son las mismas funciones. Compruebe la función mesh() descrita anteriormente. Consulte este enlace para obtener más información sobre la función surf().

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 Colormap

Artículo relacionado - MATLAB Plot