matplotlib.axes.Axes.contourf #

hachas contornof ( * argumentos , datos = Ninguno , ** kwargs ) [fuente] #

Trazar contornos rellenos.

Firma de llamada:

contourf([X, Y,] Z, [levels], **kwargs)

contoury contourfdibujar líneas de contorno y contornos rellenos, respectivamente. Salvo que se indique lo contrario, las firmas de función y los valores devueltos son los mismos para ambas versiones.

Parámetros :
X, Y tipo matriz, opcional

Las coordenadas de los valores en Z .

X e Y deben ser 2D con la misma forma que Z (por ejemplo, creados a través numpy.meshgridde ), o ambos deben ser 1-D, de modo que sea el número de columnas en Z y el número de filas en Z .len(X) == Nlen(Y) == M

X e Y deben ordenarse de forma monótona.

Si no se dan, se supone que son índices enteros, es decir , .X = range(N)Y = range(M)

Z (M, N) tipo matriz

Los valores de altura sobre los que se dibuja el contorno. El mapeo de colores está controlado por cmap , norm , vmin y vmax .

niveles int o tipo matriz, opcional

Determina el número y las posiciones de las líneas de contorno/regiones.

Si es un int n , use MaxNLocator, que intenta elegir automáticamente no más de n+1 niveles de contorno "agradables" entre vmin y vmax .

Si es como una matriz, dibuje líneas de contorno en los niveles especificados. Los valores deben estar en orden creciente.

Devoluciones :
QuadContourSet
Otros parámetros :
corner_mask bool, predeterminado: rcParams["contour.corner_mask"](predeterminado: True)

Activa/desactiva el enmascaramiento de esquinas, que solo tiene efecto si Z es una matriz enmascarada. Si False, se enmascara cualquier cuádruple que toque un punto enmascarado. Si True, solo se enmascaran siempre las esquinas triangulares de los cuadrantes más cercanos a esos puntos, otras esquinas triangulares que comprenden tres puntos no enmascarados se contornean como de costumbre.

colores cadena de colores o secuencia de colores, opcional

Los colores de los niveles, es decir, las líneas para contoury las áreas para contourf.

La secuencia se cicla para los niveles en orden ascendente. Si la secuencia es más corta que el número de niveles, se repite.

Como método abreviado, se pueden utilizar cadenas de un solo color en lugar de listas de un elemento, es decir, 'red'en lugar de ['red']colorear todos los niveles con el mismo color. Este atajo solo funciona para cadenas de colores, no para otras formas de especificar colores.

De forma predeterminada (valor Ninguno ), se utilizará el mapa de colores especificado por cmap .

flotante alfa , predeterminado: 1

El valor de fusión alfa, entre 0 (transparente) y 1 (opaco).

cmap str o Colormap, predeterminado: rcParams["image.cmap"](predeterminado: 'viridis')

La instancia de mapa de colores o el nombre de mapa de colores registrado que se utiliza para asignar datos escalares a colores.

Este parámetro se ignora si se establecen colores .

norma str o Normalize, opcional

El método de normalización usado para escalar datos escalares al rango [0, 1] antes de mapear a colores usando cmap . De forma predeterminada, se utiliza una escala lineal, asignando el valor más bajo a 0 y el más alto a 1.

Si se da, puede ser uno de los siguientes:

  • Una instancia de Normalizeo una de sus subclases (consulte Normalización de mapa de colores ).

  • Un nombre de escala, es decir, uno de "linear", "log", "symlog", "logit", etc. Para obtener una lista de las escalas disponibles, llame al matplotlib.scale.get_scale_names(). NormalizeEn ese caso, se genera e instancia dinámicamente una subclase adecuada .

Este parámetro se ignora si se establecen colores .

vmin, vmax flotante, opcional

Cuando se usan datos escalares y no hay una norma explícita , vmin y vmax definen el rango de datos que cubre el mapa de colores. De forma predeterminada, el mapa de colores cubre el rango de valores completo de los datos proporcionados. Es un error usar vmin / vmax cuando se proporciona una instancia de norma (pero es aceptable usar un nombre de norma junto con vmin / vmax ).str

Si no se proporciona vmin o vmax , la escala de color predeterminada se basa en niveles .

Este parámetro se ignora si se establecen colores .

origen { Ninguno , 'superior', 'inferior', 'imagen'}, predeterminado: Ninguno

Determina la orientación y la posición exacta de Z especificando la posición de . Esto solo es relevante si no se dan X , Y.Z[0, 0]

  • Ninguno : está en X=0, Y=0 en la esquina inferior izquierda.Z[0, 0]

  • 'inferior': está en X=0.5, Y=0.5 en la esquina inferior izquierda.Z[0, 0]

  • 'superior': está en X=N+0.5, Y=0.5 en la esquina superior izquierda.Z[0, 0]

  • 'imagen': usa el valor de rcParams["image.origin"](predeterminado: 'upper').

extensión (x0, x1, y0, y1), opcional

Si el origen no es Ninguno , entonces la extensión se interpreta como en imshow: proporciona los límites de píxeles externos. En este caso, la posición de Z[0, 0] es el centro del píxel, no una esquina. Si el origen es Ninguno , entonces ( x0 , y0 ) es la posición de Z[0, 0] y ( x1 , y1 ) es la posición de Z[-1, -1].

Este argumento se ignora si se especifican X e Y en la llamada a contorno.

localizador ticker.Locator subclase, opcional

El localizador se utiliza para determinar los niveles de contorno si no se dan explícitamente a través de niveles . El valor predeterminado es MaxNLocator.

extender {'ninguno', 'ambos', 'min', 'max'}, por defecto: 'ninguno'

Determina la contourfcoloración de los valores que están fuera del rango de niveles .

Si 'ninguno', los valores fuera del rango de niveles no están coloreados. Si es 'mínimo', 'máximo' o 'ambos', coloree los valores por debajo, por encima o por debajo y por encima del rango de niveles .

Los valores inferiores min(levels)y superiores max(levels)se asignan a los valores superiores e inferiores de Colormap. Tenga en cuenta que la mayoría de los mapas de colores no tienen colores dedicados para estos de forma predeterminada, por lo que los valores por encima y por debajo son los valores de borde del mapa de colores. Es posible que desee establecer estos valores de forma explícita mediante Colormap.set_undery Colormap.set_over.

Nota

No se notifica a un existente QuadContourSetsi se cambian las propiedades de su mapa de colores. Por lo tanto, se necesita una llamada explícita QuadContourSet.changed()después de modificar el mapa de colores. La llamada explícita se puede omitir si se asigna una barra de color a QuadContourSetporque llama internamente a QuadContourSet.changed().

Ejemplo:

x = np.arange(1, 10)
y = x.reshape(-1, 1)
h = x * y

cs = plt.contourf(h, levels=[10, 30, 50],
    colors=['#808080', '#A0A0A0', '#C0C0C0'], extend='both')
cs.cmap.set_over('red')
cs.cmap.set_under('blue')
cs.changed()
xunits, yunits unidades registradas, opcional

Anule las unidades de eje especificando una instancia de un archivo matplotlib.units.ConversionInterface.

bool suavizado , opcional

Habilite el antialiasing, anulando los valores predeterminados. Para contornos rellenos, el valor predeterminado es True . Para contornos de línea, se toma de rcParams["lines.antialiased"](predeterminado: True).

nchunk int >= 0, opcional

Si es 0, no hay subdivisión del dominio. Especifique un número entero positivo para dividir el dominio en subdominios de nchunk por quads de nchunk . La fragmentación reduce la longitud máxima de los polígonos generados por el algoritmo de contorneado, lo que reduce la carga de trabajo de representación que se transfiere al backend y también requiere un poco menos de RAM. Sin embargo, puede introducir artefactos de representación en los límites de los fragmentos según el backend, la marca antialiasing y el valor de alpha .

anchos de línea flotantes o tipo matriz, predeterminado: rcParams["contour.linewidth"](predeterminado: None)

Solo se aplica a contour .

El ancho de línea de las líneas de contorno.

Si es un número, todos los niveles se trazarán con este ancho de línea.

Si es una secuencia, los niveles en orden ascendente se trazarán con los anchos de línea en el orden especificado.

Si es Ninguno, vuelve a rcParams["lines.linewidth"](predeterminado: 1.5).

estilos de línea { Ninguno , 'sólido', 'discontinuado', 'guionado', 'punteado'}, opcional

Solo se aplica a contour .

Si linestyles es None , el valor predeterminado es 'sólido' a menos que las líneas sean monocromáticas. En ese caso, los contornos negativos tomarán su estilo de línea del argumento de estilos de línea negativos .

Los estilos de línea también pueden ser iterables de las cadenas anteriores que especifican un conjunto de estilos de línea que se usarán. Si este iterable es más corto que el número de niveles de contorno, se repetirá según sea necesario.

estilos de línea negativos { Ninguno , 'sólido', 'discontinuado', 'guionado', 'punteado'}, opcional

Solo se aplica a contour .

Si estilos de línea es Ninguno y las líneas son monocromáticas, este argumento especifica el estilo de línea para los contornos negativos.

Si los estilos de línea negativos son Ninguno , el valor predeterminado se toma de rcParams["contour.negative_linestyles"].

Los estilos de línea negativos también pueden ser iterables de las cadenas anteriores que especifican un conjunto de estilos de línea que se usarán. Si este iterable es más corto que el número de niveles de contorno, se repetirá según sea necesario.

lista de escotillas [str], opcional

Solo se aplica a contourf .

Una lista de patrones de sombreado cruzado para usar en las áreas rellenas. Si es Ninguno, no se agregará sombreado al contorno. La eclosión solo se admite en los backends PostScript, PDF, SVG y Agg.

algoritmo {'mpl2005', 'mpl2014', 'serial', 'threaded'}, opcional

Qué algoritmo de contorno utilizar para calcular las curvas de nivel y los polígonos. Los algoritmos se implementan en ContourPy , consulte la documentación de ContourPy para obtener más información.

El valor predeterminado se toma de rcParams["contour.algorithm"](predeterminado: 'mpl2014').

objeto indexable de datos , opcional

Si se proporciona, todos los parámetros también aceptan una cadena s, que se interpreta como data[s](a menos que esto genere una excepción).

notas

  1. contourfse diferencia de la versión de MATLAB en que no dibuja los bordes del polígono. Para dibujar bordes, agregue contornos de línea con llamadas a contour.

  2. contourfllena los intervalos que están cerrados en la parte superior; es decir, para los límites z1 y z2 , la región rellena es:

    z1 < Z <= z2
    

    excepto por el intervalo más bajo, que está cerrado en ambos lados (es decir, incluye el valor más bajo).

  3. contoury contourfuse un algoritmo de cuadrados de marcha para calcular las ubicaciones de los contornos. Se puede encontrar más información en la documentación de ContourPy .

Ejemplos usando matplotlib.axes.Axes.contourf#

Máscara de esquina de contorno

Máscara de esquina de contorno

Máscara de esquina de contorno
Demostración de contorno

Demostración de contorno

Demostración de contorno
Sombreado de contornos

Sombreado de contornos

Sombreado de contornos
Escala de color de contorno y registro

Escala de color de contorno y registro

Escala de color de contorno y registro
Gráfico de contorno de datos espaciados irregularmente

Gráfico de contorno de datos espaciados irregularmente

Gráfico de contorno de datos espaciados irregularmente
pcolormesh

pcolormesh

pcolormesh
Gráfico de superficie de caja 3D

Gráfico de superficie de caja 3D

Gráfico de superficie de caja 3D
Contornos rellenos

Contornos rellenos

Contornos rellenos
Proyectar un contorno relleno en un gráfico

Proyectar un contorno relleno en un gráfico

Proyectar un contorno relleno en un gráfico
contornof(X, Y, Z)

contornof(X, Y, Z)

contornof(X, Y, Z)