matplotlib.pyplot.clabel() en Python

Los gráficos de contorno o gráficos de nivel son una forma de mostrar una superficie tridimensional en un plano bidimensional. Representa gráficos como contornos como una variable de salida z y dos variables predictoras x e y en el eje y. A menudo, estos contornos también se conocen como cortes en z.
El método clabel() en mathplotlib.pyplot se usa para agregar etiquetas a los contornos de líneas en instancias de las clases para admitir el trazado de contornos.
 

Sintaxis:   matplotlib.pyplot.clabel(CS, niveles=Ninguno, **kwargs)

Parámetros: 

  • CS: El ContourSet para etiquetar.
  • niveles: una lista de valores de nivel, que deben etiquetarse. La lista debe ser un subconjunto de CS.levels. Si no se proporciona, todos los niveles están etiquetados. Es un argumento opcional (el valor predeterminado es Ninguno).
  • tamaño de fuente: tamaño en puntos o tamaño relativo, por ejemplo, ‘más pequeño’, ‘x-grande’. Consulte Text.set_size para conocer los valores de string aceptados.
  • colores: Los colores de la etiqueta- 
    1. Si es Ninguno, el color de cada etiqueta coincide con el color del contorno correspondiente.
    2. Si un color de string, por ejemplo, colores = ‘r’ o colores = ‘rojo’, todas las etiquetas se trazarán en este color.
    3. Si una tupla de argumentos de color matplotlib (string, flotante, rgb, etc.), se trazarán diferentes etiquetas en diferentes colores en el orden especificado.

A continuación se muestran algunos programas para ilustrar el uso de matplotlib.pyplot.clabel() :

 
Ejemplo 1:   Cree una gráfica de contorno simple con etiquetas utilizando colores predeterminados. El argumento en línea de clabel controlará si las etiquetas se dibujan sobre los segmentos de línea del contorno, eliminando las líneas debajo de la etiqueta. 

Python3

# importing the required libraries
import numpy 
import matplotlib.pyplot 
  
# creating the graph
delta = 0.025
x = numpy.arange(-3.0, 3.0, delta)
y = numpy.arange(-2.0, 2.0, delta)
X, Y = numpy.meshgrid(x, y)
  
Z1 = numpy.exp(-X**2 - Y**2)
Z2 = numpy.exp(-(X - 1)**2 - (Y - 1)**2)
Z = (Z1 - Z2) * 2
  
# adding labels to the line contours
fig, ax = matplotlib.pyplot.subplots()
CS = ax.contour(X, Y, Z)
ax.clabel(CS, inline=1, fontsize=10)
ax.set_title('Simplest default with labels')

Producción: 

Ejemplo 2:  las etiquetas de contorno se pueden colocar manualmente proporcionando una lista de posiciones (en coordenadas de datos). Consulte ginput_manual_clabel.py para conocer la ubicación interactiva. 

Python3

# importing the required libraries
import numpy 
import matplotlib.pyplot 
  
# creating the graph
delta = 0.025
x = numpy.arange(-3.0, 3.0, delta)
y = numpy.arange(-2.0, 2.0, delta)
X, Y = numpy.meshgrid(x, y)
  
Z1 = numpy.exp(-X**2 - Y**2)
Z2 = numpy.exp(-(X - 1)**2 - (Y - 1)**2)
Z = (Z1 - Z2) * 2
  
# adding labels to the line contours
fig, ax = matplotlib.pyplot.subplots()
CS = ax.contour(X, Y, Z)
manual_locations = [(-1, -1.4), (-0.62, -0.7), 
                    (-2, 0.5), (1.7, 1.2), 
                    (2.0, 1.4), (2.4, 1.7)]
  
ax.clabel(CS, inline=1, fontsize=10, manual=manual_locations)
ax.set_title('labels at selected locations')

Producción: 

Ejemplo 3:   Puede forzar que todos los contornos sean del mismo color. 

Python3

# importing the required libraries
import numpy 
import matplotlib.pyplot 
  
# creating the graph
delta = 0.025
x = numpy.arange(-3.0, 3.0, delta)
y = numpy.arange(-2.0, 2.0, delta)
X, Y = numpy.meshgrid(x, y)
  
Z1 = numpy.exp(-X**2 - Y**2)
Z2 = numpy.exp(-(X - 1)**2 - (Y - 1)**2)
Z = (Z1 - Z2) * 2
  
# adding labels to the line contours
fig, ax = matplotlib.pyplot.subplots()
CS = ax.contour(X, Y, Z, 6,
                 colors='k',
                 )
  
ax.clabel(CS, fontsize=9, inline=1)
ax.set_title('Single color - negative contours dashed')

Producción:

Ejemplo 4:  puede configurar los contornos negativos para que sean sólidos en lugar de discontinuos: 
 

Python3

# importing the required libraries
import numpy 
import matplotlib.pyplot 
  
# creating the graph
delta = 0.025
x = numpy.arange(-3.0, 3.0, delta)
y = numpy.arange(-2.0, 2.0, delta)
X, Y = numpy.meshgrid(x, y)
  
Z1 = numpy.exp(-X**2 - Y**2)
Z2 = numpy.exp(-(X - 1)**2 - (Y - 1)**2)
Z = (Z1 - Z2) * 2
  
# adding labels to the line contours
matplotlib.rcParams['contour.negative_linestyle'] = 'solid'
fig, ax = matplotlib.pyplot.subplots()
CS = ax.contour(X, Y, Z, 6,
                 colors='k',
                 )
  
ax.clabel(CS, fontsize=9, inline=1)
ax.set_title('Single color - negative contours solid')

Producción:

Ejemplo 5:  Puede especificar manualmente los colores del contorno. 

Python3

# importing the required libraries
import numpy 
import matplotlib.pyplot 
  
# creating the graph
delta = 0.025
x = numpy.arange(-3.0, 3.0, delta)
y = numpy.arange(-2.0, 2.0, delta)
X, Y = numpy.meshgrid(x, y)
  
Z1 = numpy.exp(-X**2 - Y**2)
Z2 = numpy.exp(-(X - 1)**2 - (Y - 1)**2)
Z = (Z1 - Z2) * 2
  
# adding labels to the line contours
fig, ax = matplotlib.pyplot.subplots()
CS = ax.contour(X, Y, Z, 6,
                 linewidths=np.arange(.5, 4, .5),
                 colors=('r', 'green', 'blue',
                         (1, 1, 0), '#afeeee', '0.5')
                 )
  
ax.clabel(CS, fontsize=9, inline=1)
ax.set_title('Crazy lines')

Producción:

Publicación traducida automáticamente

Artículo escrito por riturajsaha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *