¿Cuál es la forma recomendada para trazar: matplotlib o pylab?

Veo que puedo trazar en Python usando:

import matplotlib matplotlib.pyplot.plot(...) 

O:

 import pylab pylab.plot(...) 

Ambos utilizan 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é?

Documentos oficiales: Matplotlib, pyplot y pylab: ¿cómo se relacionan?

Ambas importaciones se reducen al hacer exactamente lo mismo y ejecutarán exactamente el mismo código, son solo formas diferentes de importar los módulos.

También tenga en cuenta que matplotlib tiene dos capas de interfaz, una capa de estado-máquina administrada por pyplot y la interfaz OO pyplot se construye encima de, vea ¿Cómo puedo adjuntar una función de pyplot a una instancia de figura?

pylab es una forma limpia de importar en masa una gran cantidad de funciones útiles (la función de máquina de estado de pyplot , la mayoría de los numpy ) en un solo espacio de nombres. La razón principal por la que existe (a mi entender) es trabajar con ipython para crear una shell interactiva muy agradable que más o menos replica MATLAB (para facilitar la transición y porque es buena para jugar). Ver pylab.py y matplotlib/pylab.py

En algún nivel, esto es puramente una cuestión de gustos y depende un poco de lo que esté haciendo.

Si no está incrustado en una interfaz gráfica de usuario (ya sea utilizando un backend no interactivo para scripts masivos o utilizando uno de los backends interactivos proporcionados), lo más común es hacerlo.

 import matplotlib.pyplot as plt import numpy as np plt.plot(....) 

que no contamina el espacio de nombres. Prefiero esto para poder hacer un seguimiento de dónde vinieron las cosas.

Si utiliza

 ipython --pylab 

esto es equivalente a correr

 from pylab import * 

Ahora se recomienda que para las nuevas versiones de ipython use

 ipython --matplotlib 

que configurará todos los detalles de fondo adecuados para hacer que los backends interactivos funcionen bien, pero no importarán de forma masiva nada. 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á incrustando matplotlib en una interfaz matplotlib de matplotlib , no desea importar Pyplot ya que esto iniciará bucles principales de la interfaz gráfica de usuario (GUI) extra, y exactamente lo que debe importar depende de lo que esté haciendo exactamente.

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, dice: “Aunque muchos ejemplos lo utilizan Pylab, ya no se recomienda “. . Entonces, no veo ninguna razón para usar pylab o preocuparme por eso.