Mapa de color de MATLAB
-
Trazar un mapa de colores usando la función
mesh()
en MATLAB -
Trazar un mapa de colores usando la función
meshc()
en MATLAB -
Trazar un mapa de colores usando la función
meshz()
en MATLAB -
Trazar un mapa de colores usando la función
surf()
en 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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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()
.