python - graficos - ¿Cuál es la forma recomendada de trazar: matplotlib o pylab?
python graficos 2d (2)
Documentos oficiales: Matplotlib, pyplot y pylab: ¿cómo están relacionados?
Ambas importaciones se reducen haciendo exactamente lo mismo y ejecutarán exactamente el mismo código, solo son formas diferentes de importar los módulos.
También tenga en cuenta que matplotlib
tiene dos capas de interfaz, una capa de máquina de estado administrada por pyplot
y la interfaz de OO pyplot
está construida sobre, vea ¿Cómo puedo adjuntar una función de diagrama en miniatura a una instancia de figura?
pylab
es una forma limpia de importar de forma masiva una gran cantidad de funciones útiles (la función de máquina de estado de pyplot
, la mayoría de numpy
) en un único espacio de nombre. La razón principal por la que esto existe (a mi entender) es trabajar con ipython
para crear un shell interactivo muy agradable que más o menos replica MATLAB (para facilitar la transición y porque es bueno para jugar). Consulte pylab.py
y matplotlib/pylab.py
En algún nivel, esto es puramente una cuestión de gusto y depende un poco de lo que estás haciendo.
Si no está incrustado en una interfaz gráfica de usuario (ya sea utilizando un back-end no interactivo para scripts masivos o utilizando uno de los back-ends interactivos proporcionados) lo típico que se debe hacer es
import matplotlib.pyplot as plt
import numpy as np
plt.plot(....)
que no contamina el espacio de nombre. Prefiero esto para poder seguir de dónde vienen las cosas.
Si utiliza
ipython --pylab
esto es equivalente a correr
from pylab import *
Ahora se recomienda que para las nuevas versiones de ipython
que utilice
ipython --matplotlib
que configurará todos los detalles de fondo adecuados para que los back-ends interactivos funcionen correctamente, pero no importará nada a granel. Tendrá que importar explícitamente los módulos que desee.
import numpy as np
import matplotlib.pyplot as plt
es un buen comienzo.
Si está matplotlib
en una interfaz matplotlib
de matplotlib
, no quiere importar pyplot, ya que eso iniciará bucles principales adicionales de la interfaz gráfica de usuario, y exactamente lo que debe importar depende exactamente de lo que esté haciendo.
Veo que puedo trazar en Python usando:
import matplotlib
matplotlib.pyplot.plot(...)
O:
import pylab
pylab.plot(...)
Ambos usan el mismo código de trazado matplotlib .
Entonces, ¿cuál de estos recomienda la comunidad de Python como el mejor método para trazar? ¿Por qué?
La documentación en https://matplotlib.org/faq/usage_faq.html#matplotlib-pyplot-and-pylab-how-are-they-related , que también describe la diferencia entre pyglot y pylab, indica: "Aunque muchos ejemplos usan pylab, ya no se recomienda ". . Por lo tanto, no veo ninguna razón para usar pylab o preocuparse por ello.