Gráfica de cascadaMATLAB

Ammar Ali 15 febrero 2024
Gráfica de cascadaMATLAB

Este tutorial analizará la creación de un diagrama de cascada utilizando la función waterfall() de MATLAB.

El diagrama de cascada de MATLAB

Un diagrama de cascada es como un diagrama de malla; también tiene cortinas en el eje y, creando un efecto de cascada en la parcela. Podemos usar la función waterfall() de MATLAB para crear un diagrama de cascada en 3D.

La función waterfall() tiene seis sintaxis que se muestran a continuación.

waterfall(x,y,z)
waterfall(x,y,z,color)
waterfall(z)
waterfall(z,c)
waterfall(axes,___)
obj = waterfall(___)

La primera sintaxis creará un diagrama de cascada en una cuadrícula especificada por las variables x e y, y las alturas de los bordes se tomarán de la variable z. Por defecto, la función waterfall() utilizará la variable z para asignar colores a los bordes presentes en el gráfico.

Las variables de entrada x e y deben ser una matriz o vector, y la variable z debe ser una matriz y debe tener dos filas y dos columnas. Si x e y son matrices, su tamaño debe ser igual al tamaño de la variable z.

La segunda sintaxis se usa para establecer el color de los bordes, que reemplazará el color predeterminado de los bordes. El color debe ser una matriz del mismo tamaño que el número de aristas y contener los colores de todas las aristas del gráfico.

Por ejemplo, vamos a crear un diagrama de cascada de algunos datos aleatorios usando la función cascada(). Vea el código a continuación.

clc
clear

[x,y] = meshgrid(-6:.3:6);
z = x.*cos(y) + y.*sin(x);
waterfall(x,y,z)

Producción:

diagrama de cascada simple

Usamos el meshgrid() en el código anterior para crear una cuadrícula uniforme. Los colores de las aristas se asignan según la matriz z.

Podemos usar el comando colorbar después de la función waterfall(), que mostrará una barra de color a lo largo del diagrama de cascada que se puede usar para ver qué color pertenece a qué valor.

La tercera sintaxis creará un diagrama de cascada según las alturas de la variable z, y tomará los valores de la cuadrícula o los valores de x e y de los índices de la matriz z. El color también se tomará de la matriz z.

La cuarta sintaxis puede especificar los colores de los bordes presentes en la matriz z en la matriz c para que el tamaño de c sea igual al tamaño de z. La quinta sintaxis se usará para crear el gráfico de cascada en los ejes especificados por la variable axes en lugar de los ejes actuales del gráfico.

La sexta sintaxis se usa para crear un objeto del diagrama de cascada, que se puede usar para mostrar y modificar las propiedades del diagrama de cascada. Por ejemplo, creemos un objeto de la función waterfall() utilizando el código de ejemplo anterior y verifiquemos sus propiedades.

Vea el código a continuación.

clc
clear

[x,y] = meshgrid(-6:.3:6);
z = x.*cos(y) + y.*sin(x);
p = waterfall(x,y,z);

Producción :

p =

  Patch with properties:

    FaceColor: [1 1 1]
    FaceAlpha: 1
    EdgeColor: 'flat'
    LineStyle: '-'
        Faces: [41×46 double]
     Vertices: [1886×3 double]

El resultado anterior muestra algunas propiedades del diagrama de cascada, y podemos ver todas las propiedades haciendo clic en la palabra Ruta en el resultado. Podemos cambiar las propiedades del diagrama de cascada usando el objeto de la función y el nombre de la propiedad.

La primera propiedad, FaceColor que se muestra arriba, representa el color del área encerrada por los bordes, que por defecto está configurado en color blanco, pero podemos cambiarlo a cualquier color usando un nombre de color o un valor de triplete RGB.

La propiedad EdgeColor representa el color de los bordes o puntos del gráfico que por defecto se asignan usando el valor de la matriz z, pero también podemos cambiar esta propiedad de la misma forma que cambiamos la propiedad FaceColor .

Las propiedades FaceAlpha y EdgeAlpha se utilizan para configurar la transparencia de las caras y los bordes presentes en el gráfico, que por defecto está configurado en 1, pero podemos configurarlo en cualquier valor entre 0 a 1.

La propiedad LineStyle establece el estilo de las líneas utilizadas para unir los puntos en el gráfico y, por defecto, su valor se establece en un sólido como -, pero podemos configurarlo en una línea discontinua usando -- , línea de puntos discontinuos usando -., línea de puntos usando :, y sin línea usando none.

La propiedad LineWidth se usa para establecer el ancho de la línea utilizada en el gráfico y, por defecto, su valor se establece en 0.5, pero podemos establecer su valor en cualquier número entero positivo.

La propiedad Marker se utiliza para establecer el marcador que se utilizará para representar los puntos en el gráfico y, por defecto, su valor está establecido en ninguno, pero podemos configurarlo en un círculo usando o, diamante usando d, pentágono usando p, y así sucesivamente.

Podemos usar la propiedad MarkerSize para establecer el tamaño del marcador, que por defecto está configurado en 5, y establecerlo en cualquier valor positivo.

Podemos usar la propiedad MarkerEdgeColor para establecer el color de la línea del borde del marcador y MarkerFaceColor para establecer el color de relleno del marcador, que se utilizará para llenar el marcador de color, y por defecto, su valor es establecido en ninguno.

Por ejemplo, repitamos el ejemplo anterior y cambiemos las propiedades mencionadas anteriormente. Vea el código a continuación.

clc
clear

[x,y] = meshgrid(-6:1:6);
z = x.*cos(y) + y.*sin(x);
p = waterfall(x,y,z);
p.FaceColor = 'white';
p.EdgeColor = 'red';
p.LineStyle = '-.';
p.LineWidth = 1;
p.Marker = 'd';
p.MarkerSize = 10;
p.MarkerEdgeColor = 'green';
p.MarkerFaceColor = 'yellow';

Producción:

propiedades del diagrama de cascada

En el código anterior, cambiamos algunas propiedades del diagrama de cascada y también podemos cambiar muchas otras propiedades. Consulte este enlace para obtener más detalles sobre las propiedades del diagrama de cascada.

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

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