Matplotlib Pyplot

Pyplot es una subbiblioteca de Matplotlib que proporciona una API de trazado similar a MATLAB.

Pyplot es un módulo de trazado de uso común que permite a los usuarios dibujar fácilmente gráficos 2D.

Pyplot contiene una serie de funciones relacionadas con el trazado. Cada función modifica la imagen actual, por ejemplo: añadir marcadores a la imagen, generar una nueva imagen, crear una nueva área de trazado en la imagen, etc.

Al usarlo, podemos importar la biblioteca pyplot con import y establecer un aliasplt:

import matplotlib.pyplot as plt

De esta manera podemos usarpltpara referenciar los métodos del paquete Pyplot.

A continuación se muestran algunas funciones de pyplot de uso común:

  • plot(): se utiliza para dibujar gráficos de líneas y diagramas de dispersión
  • scatter(): se utiliza para dibujar diagramas de dispersión
  • bar(): se utiliza para dibujar gráficos de barras verticales y horizontales
  • hist(): se utiliza para dibujar histogramas
  • pie(): se utiliza para dibujar gráficos circulares
  • imshow(): se utiliza para dibujar imágenes
  • subplots(): se utiliza para crear subgráficos

Además de estas funciones básicas, pyplot también proporciona muchas otras funciones, como funciones para establecer propiedades de los gráficos, funciones para añadir texto y anotaciones, funciones para guardar gráficos en archivos, etc.

En el siguiente ejemplo, usamos dos coordenadas(0,0)llegar(6,100)para dibujar una línea:

Ejemplo

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([0, 6])
ypoints = np.array([0, 100])

plt.plot(xpoints, ypoints)
plt.show()

La salida se muestra a continuación:

En el ejemplo anterior usamos la de Pyplotplot()función,plot()La función es la función más básica para dibujar gráficos bidimensionales.

plot()Se utiliza para graficar y puede dibujar puntos y líneas. El formato de sintaxis es el siguiente:

# 画单条线
plot([x], y, [fmt], *, data=None, **kwargs)
# 画多条线
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

Descripción de parámetros:

  • x, y:El nodo del punto o de la línea; x son los datos del eje x, y son los datos del eje y. Los datos pueden ser listas o matrices.
  • fmt:Opcional, define el formato básico (como color, marcador y estilo de línea).
  • **kwargs:Opcional, se usa en gráficos bidimensionales, establece atributos específicos, como etiquetas, ancho de línea, etc.
>>> plot(x, y)        # Crea un gráfico de líneas bidimensional con los datos de y y los valores correspondientes de x, usando el estilo predeterminado
>>> plot(x, y, 'bo')  # Crea un gráfico de líneas bidimensional con los datos de y y los valores correspondientes de x, dibujado con un círculo sólido azul
>>> plot(y)           # El valor de x es 0..N-1
>>> plot(y, 'r+')     # Usa el signo + rojo

Caracteres de color:'b' azul, 'm' magenta, 'g' verde, 'y' amarillo, 'r' rojo, 'k' negro, 'w' blanco, 'c' cian, '#0053A6' cadena de color RGB. Cuando varias curvas no especifican un color, se seleccionan automáticamente diferentes colores.

Parámetros de estilo de línea:'‐' línea continua, '‐‐' línea discontinua, '‐.' línea de guiones y puntos, ':' línea de puntos.

Caracteres de marcador:'.' marcador de punto, ',' marcador de píxel (punto minúsculo), 'o' marcador de círculo sólido, 'v' marcador de triángulo invertido, '^' marcador de triángulo hacia arriba, '>' marcador de triángulo hacia la derecha, '<' marcador de triángulo hacia la izquierda... etc.

Si queremos dibujar una línea desde las coordenadas (1, 3) hasta (8, 10), necesitamos pasar dos matrices [1, 8] y [3, 10] a laplotfunción:

Ejemplo

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([1, 8])
ypoints = np.array([3, 10])

plt.plot(xpoints, ypoints)
plt.show()

El resultado del código anterior es:

Si solo queremos dibujar dos puntos, y no una línea, podemos usaroel parámetro, que indica un marcador de círculo sólido:

Dibujar dos puntos con las coordenadas (1, 3) y (8, 10)

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([1, 8])
ypoints = np.array([3, 10])

plt.plot(xpoints, ypoints, 'o')
plt.show()

El resultado del código anterior es:

También podemos dibujar cualquier cantidad de puntos, solo hay que asegurarse de que el número de puntos en ambos ejes sea el mismo.

Dibuja una línea irregular con coordenadas (1, 3), (2, 8), (6, 1) y (8, 10); las dos matrices correspondientes son: [1, 2, 6, 8] y [3, 8, 1, 10].

Ejemplo

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([1, 2, 6, 8])
ypoints = np.array([3, 8, 1, 10])

plt.plot(xpoints, ypoints)
plt.show()

El resultado del código anterior es:

Si no especificamos los puntos en el eje x, entonces x se establece según los valores de y como 0, 1, 2, 3..N-1。

Ejemplo

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([3, 10])

plt.plot(ypoints)
plt.show()

El resultado del código anterior es:

De la figura anterior se puede ver que el valor de x se establece por defecto en [0, 1]。

Veamos ahora un ejemplo con más valores:

Ejemplo

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([3, 8, 1, 10, 5, 7])

plt.plot(ypoints)
plt.show()

El resultado del código anterior es:

De la figura anterior se puede ver quexel valor de x se establece por defecto en[0, 1, 2, 3, 4, 5]。

En el siguiente ejemplo dibujamos un gráfico de seno y coseno; en los parámetros de plt.plot() se incluyen dos pares dex,yvalores, el primer par es x,y, que corresponde a la función seno, el segundo par esx,z, que corresponde a la función coseno.

Ejemplo

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0,4*np.pi,0.1)   # start,stop,step
y = np.sin(x)
z = np.cos(x)
plt.plot(x,y,x,z)
plt.show()

El resultado del código anterior es:

Para más información, consulte:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html

Otras extensiones