Número de referencia de la API
Cuando utilice la biblioteca, normalmente creará objetos Figura y Ejes y llamará a sus métodos para agregar contenido y modificar la apariencia.
matplotlib.figure: creación de ejes, contenido a nivel de figuramatplotlib.axes: la mayoría de los métodos de trazado, etiquetas de ejes, acceso al estilo de ejes, etc.
Ejemplo: Creamos una Figura figy Ejes ax. Luego llamamos métodos en ellos para trazar datos, agregar etiquetas de eje y un título de figura.
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 4, 0.05)
y = np.sin(x*np.pi)
fig, ax = plt.subplots(figsize=(3,2), constrained_layout=True)
ax.plot(x, y)
ax.set_xlabel('t [s]')
ax.set_ylabel('S [V]')
ax.set_title('Sine wave')
fig.set_facecolor('lightsteelblue')
( Código fuente , png )
Patrones de uso #
A continuación, describimos varios enfoques comunes para trazar con Matplotlib. Consulte Interfaces de aplicación (API) de Matplotlib para obtener una explicación de las compensaciones entre las API de usuario admitidas.
La API explícita #
En esencia, Matplotlib es una biblioteca orientada a objetos. Recomendamos trabajar directamente con los objetos si necesita más control y personalización de sus gráficos.
En muchos casos, creará Figureuno y uno o más
Axesutilizando pyplot.subplotsy, a partir de ese momento, solo trabajará en estos objetos. Sin embargo, también es posible crear Figurecorreos electrónicos explícitamente (por ejemplo, al incluirlos en aplicaciones GUI).
Otras lecturas:
matplotlib.axes.Axesymatplotlib.figure.Figurepara obtener una descripción general de las funciones de trazado.La mayoría de los ejemplos utilizan el enfoque orientado a objetos (excepto la sección pyplot)
La API implícita #
matplotlib.pyplotes una colección de funciones que hacen que Matplotlib funcione como MATLAB. Cada función de pyplot realiza algún cambio en una figura: por ejemplo, crea una figura, crea un área de trazado en una figura, traza algunas líneas en un área de trazado, decora el trazado con etiquetas, etc.
pyplotestá destinado principalmente a tramas interactivas y casos simples de generación de tramas programáticas.
Otras lecturas:
La
matplotlib.pyplotfunción de referencia
La API de pylab (desaconsejada) #
Advertencia
Dado que la importación masiva al espacio de nombres global puede provocar un comportamiento inesperado, se desaconseja encarecidamente el uso de pylab. Utilice matplotlib.pyplot
en su lugar.
pylabes un módulo que incluye matplotlib.pyplot, numpy, numpy.fft,
numpy.linalg, numpy.randomy algunas funciones adicionales, todo dentro de un único espacio de nombres. Su propósito original era imitar una forma de trabajar similar a MATLAB importando todas las funciones al espacio de nombres global. Esto se considera mal estilo hoy en día.
Módulos #
Lista alfabética de módulos:
matplotlibmatplotlib.afmmatplotlib.animationmatplotlib.artistmatplotlib.axesmatplotlib.axismatplotlib.backend_basesmatplotlib.backend_managersmatplotlib.backend_toolsmatplotlib.backendsmatplotlib.beziermatplotlib.blocking_inputmatplotlib.categorymatplotlib.cbookmatplotlib.cmmatplotlib.collectionsmatplotlib.colorbarmatplotlib.colorsmatplotlib.containermatplotlib.contourmatplotlib.datesmatplotlib.docstringmatplotlib.dvireadmatplotlib.figurematplotlib.font_managermatplotlib.fontconfig_patternmatplotlib.ft2fontmatplotlib.gridspecmatplotlib.hatchmatplotlib.imagematplotlib.layout_enginematplotlib.legendmatplotlib.legend_handlermatplotlib.linesmatplotlib.markersmatplotlib.mathtextmatplotlib.mlabmatplotlib.offsetboxmatplotlib.patchesmatplotlib.pathmatplotlib.patheffectsmatplotlib.pyplotmatplotlib.projectionsmatplotlib.quivermatplotlib.rcsetupmatplotlib.sankeymatplotlib.scalematplotlib.sphinxext.mathmplmatplotlib.sphinxext.plot_directivematplotlib.spinesmatplotlib.stylematplotlib.tablematplotlib.testingmatplotlib.textmatplotlib.texmanagermatplotlib.textpathmatplotlib.tickermatplotlib.tight_bboxmatplotlib.tight_layoutmatplotlib.transformsmatplotlib.trimatplotlib.type1fontmatplotlib.unitsmatplotlib.widgetsmatplotlib._apimatplotlib._enumsmpl_toolkits.mplot3dmpl_toolkits.axes_grid1mpl_toolkits.axisartist