Contenido principal

waterfall

Gráfica de cascada

  • Waterfall plot

Descripción

waterfall(X,Y,Z) crea una gráfica de cascada, que es una gráfica de malla con una cortina parcial en la dimensión y. El resultado es un efecto "cascada". La función representa los valores en la matriz Z como alturas sobre una cuadrícula en el plano xy que definen X e Y. Los colores de borde varían según las alturas que especifique Z.

ejemplo

waterfall(X,Y,Z,C) especifica adicionalmente el color de los bordes.

ejemplo

waterfall(Z) crea una gráfica de cascada y utiliza los índices de columna y de fila de los elementos de Z como coordenadas x e y.

waterfall(Z,C) especifica adicionalmente el color de los bordes.

waterfall(___,Name=Value) establece las propiedades de la gráfica de cascada utilizando uno o más argumentos nombre-valor. Por ejemplo, puede especificar el color y el grosor de los bordes de la gráfica. Para obtener una lista de las propiedades, consulte Patch Properties. (desde R2024b)

waterfall(ax,___) representa en los ejes que especifica ax en lugar de en los ejes actuales. Especifique los ejes como primer argumento de entrada. Este argumento puede utilizarse con cualquiera de las sintaxis anteriores.

p = waterfall(___) devuelve el objeto de parche. Utilice p para modificar la gráfica de cascada después de crearla. Para obtener una lista de las propiedades, consulte Patch Properties.

ejemplo

Ejemplos

contraer todo

Cree tres matrices del mismo tamaño. Después, represéntelas como una gráfica de cascada. La gráfica de malla utiliza Z tanto para la altura como para el color.

[X,Y] = meshgrid(-3:.125:3);
Z = peaks(X,Y);
waterfall(X,Y,Z)

Figure contains an axes object. The axes object contains an object of type patch.

Especifique los colores para una gráfica de cascada incluyendo una cuarta entrada de matriz, C. La gráfica de cascada utiliza Z para la altura y C para el color. Añada una barra de colores a la gráfica para mostrar cómo los valores de los datos de C se corresponden con los colores en el mapa de colores.

[X,Y] = meshgrid(-3:.125:3);
Z = peaks(X,Y);
C = gradient(Z);
waterfall(X,Y,Z,C)
colorbar

Figure contains an axes object. The axes object contains an object of type patch.

Cree una gráfica de cascada. Para permitir más modificaciones, asigne el objeto de parche a la variable p.

[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
p = waterfall(X,Y,Z)

Figure contains an axes object. The axes object contains an object of type patch.

p = 
  Patch with properties:

    FaceColor: [1 1 1]
    FaceAlpha: 1
    EdgeColor: 'flat'
    LineStyle: '-'
        Faces: [21×26 double]
     Vertices: [546×3 double]

  Show all properties

Utilice p para acceder y modificar las propiedades de la gráfica de cascada después de crearla. Por ejemplo, modifique el color de los bordes de la gráfica estableciendo la propiedad EdgeColor.

p.EdgeColor = 'b';

Figure contains an axes object. The axes object contains an object of type patch.

Muestre una cortina parcial en la dimensión x (en lugar de la dimensión y) trasponiendo los argumentos de entrada.

[X,Y] = meshgrid(-3:.125:3);
Z = peaks(X,Y);
waterfall(X',Y',Z')

Figure contains an axes object. The axes object contains an object of type patch.

Argumentos de entrada

contraer todo

Coordenadas x, especificadas como matriz del mismo tamaño que Z o como vector con una longitud n cuando Z es una matriz de m por n. Si no especifica valores para X e Y, waterfall utiliza los vectores (1:n) y (1:m).

La propiedad XData del objeto de parche almacena las coordenadas x.

Ejemplo: X = 1:10

Ejemplo: X = [1 2 3; 1 2 3; 1 2 3]

Ejemplo: [X,Y] = meshgrid(-5:0.5:5)

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical

Coordenadas y, especificadas como matriz del mismo tamaño que Z o como vector con una longitud m cuando Z es una matriz de m por n. Si no especifica valores para X e Y, waterfall utiliza los vectores (1:n) y (1:m).

La propiedad YData del objeto de parche almacena las coordenadas y.

Ejemplo: Y = 1:10

Ejemplo: Y = [1 1 1; 2 2 2; 3 3 3]

Ejemplo: [X,Y] = meshgrid(-5:0.5:5)

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical

Coordenadas z, especificadas como matriz. Z debe tener al menos dos filas y dos columnas.

Z especifica la altura de la gráfica de cascada en cada coordenada xy. Si no especifica los colores, Z también especifica los colores de borde de la gráfica.

La propiedad ZData del objeto de parche almacena las coordenadas z.

Ejemplo: Z = [1 2 3; 4 5 6]

Ejemplo: Z = sin(x) + cos(y)

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical

Arreglo de indexación de colores, especificado como matriz de m por n de índices de mapas de colores, donde Z es m por n. C indica un color del mapa de colores para cada punto de cuadrícula de la gráfica de cascada. La propiedad CDataMapping del objeto de parche controla cómo se corresponden los valores de C con colores del mapa de colores.

La propiedad CData del objeto de parche almacena las coordenadas del arreglo de colores. Para tener un mayor control sobre el color de la gráfica, utilice las propiedades FaceColor y EdgeColor.

Ejes objetivo, especificados como objeto Axes. Si no especifica los ejes, waterfall representa en los ejes actuales.

Argumentos de par nombre-valor

contraer todo

Especifique pares opcionales de argumentos como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.

Ejemplo: waterfall(peaks,LineStyle="--") crea una gráfica de cascada utilizando líneas discontinuas.

Nota

Las propiedades que se enumeran aquí son solo un subconjunto. Para obtener una lista completa, consulte Patch Properties.

Colores de borde, especificados como uno de los valores de esta tabla. El color de borde predeterminado es negro con un valor de [0 0 0]. Si varios polígonos comparten un borde, el primer polígono dibujado controla el color de borde mostrado.

ValorDescripciónResultado

Triplete RGB, código de color hexadecimal o nombre del color

Un único color para todos los bordes. Para obtener más información, consulte la siguiente tabla.

Rectangular patch with red edges

'flat'

Un color diferente para cada borde. Utilice los colores de los vértices para establecer el color del borde que los sigue. Primero debe especificar CData o FaceVertexCData como arreglo que contenga un color por vértice. El color de borde depende del orden en el que se especifican los vértices.

Rectangular patch with a medium green upper-right vertex, a medium green top edge, a yellow upper-left vertex, a yellow left edge, a dark blue lower-left vertex, a dark blue lower edge, a light blue lower-right vertex, and a light blue right edge

'interp'

Color de borde interpolado. Primero debe especificar CData o FaceVertexCData como arreglo que contenga un color por vértice. Determine el color de borde interpolando linealmente los valores de los dos vértices delimitadores.

Rectangular patch with interpolated edge colors. The top two vertices are medium green and yellow, respectively. The bottom two vertices are dark blue and light blue, respectively. The color of each edge is a gradient of the colors at the bounding vertices.

'none'No se muestran bordes.

No se muestran bordes.

Los tripletes RGB y los códigos de color hexadecimales son útiles para especificar colores personalizados.

  • Un triplete RGB es un vector fila de tres elementos, cuyos elementos especifican las intensidades de los componentes rojo, verde y azul del color. Las intensidades deben estar en el rango [0,1]; por ejemplo, [0.4 0.6 0.7].

  • Un código de color hexadecimal es un vector de caracteres o un escalar de cadena que comienza con el símbolo de almohadilla (#) seguido de tres o seis dígitos hexadecimales, que pueden oscilar entre 0 y F. Los valores no distinguen entre mayúsculas y minúsculas. Así, los códigos de color "#FF8800", "#ff8800", "#F80" y "#f80" son equivalentes.

Como alternativa, puede especificar algunos colores frecuentes por su nombre. En esta tabla se enumeran las opciones de color con su nombre, los tripletes RGB equivalentes y los códigos de color hexadecimales.

Nombre del colorNombre cortoTriplete RGBCódigo de color hexadecimalApariencia
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

En esta tabla, se enumeran las paletas de colores predeterminados para las gráficas en los temas claro y oscuro.

PaletaColores de la paleta

"gem": tema claro predeterminado

Antes de R2025a: La mayoría de las gráficas utilizan estos colores de forma predeterminada.

Sample of the "gem" color palette

"glow": tema oscuro predeterminado

Sample of the "glow" color palette

Puede obtener los tripletes RGB y los códigos de color hexadecimales de estas paletas usando las funciones orderedcolors y rgb2hex. Por ejemplo, puede obtener los tripletes RGB de la paleta "gem" y convertirlos en códigos de color hexadecimales.

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

Antes de R2023b: Obtenga los tripletes RGB usando RGB = get(groot,"FactoryAxesColorOrder").

Antes de R2024a: Obtenga los códigos de color hexadecimales usando H = compose("#%02X%02X%02X",round(RGB*255)).

Estilo de línea, especificado como una de las opciones enumeradas en esta tabla.

Estilo de líneaDescripciónLínea resultante
"-"Línea continua

Sample of solid line

"--"Línea discontinua

Sample of dashed line

":"Línea de puntos

Sample of dotted line

"-."Línea de puntos y rayas

Sample of dash-dotted line, with alternating dashes and dots

"none"Sin líneaSin línea

Ancho de línea, especificado como valor positivo en puntos, donde 1 punto = 1/72 de pulgada (0,035 cm). Si la línea tiene marcadores, el ancho de línea también afecta a los bordes de los marcadores.

El ancho de línea no puede ser inferior al de un píxel. Si establece el ancho de línea en un valor inferior al ancho de un píxel del sistema, la línea se muestra igual de ancha que un píxel.

Sugerencias

  • Para analizar los datos como columnas en lugar de filas, llame a waterfall con argumentos traspuestos:

    [X,Y] = meshgrid(-3:.125:3);
    Z = peaks(X,Y);
    waterfall(X',Y',Z')

  • Para crear un objeto de superficie de malla en lugar de un objeto de parche, utilice la función meshz. Para crear una gráfica similar a una gráfica de cascada, establezca la propiedad MeshStyle de la superficie en 'Row'.

Algoritmos

  • Las propiedades XLim, YLim y ZLim de los ejes almacenan los límites para los ejes x, y y z. Estos límites se basan en los rangos de los argumentos de entrada de X, Y y Z.

  • La propiedad CLim de los ejes determina la distribución de colores en el rango de C. Para obtener más información, consulte Controlar los límites de un mapa de colores.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a

expandir todo