¿Cuál es la diferencia entre pylab y pyplot?

¿Cuál es la diferencia entre matplotlib.pyplot y matplotlib.pylab?

¿Cuál es el preferido para qué uso?

Estoy un poco confundido, porque parece independiente de lo que importa, puedo hacer las mismas cosas. ¿Qué me estoy perdiendo?

Esta redacción ya no está en la documentación.

El uso de la importación de pylab ahora está desaconsejado y la interfaz OO se recomienda para la mayoría de los usos no interactivos.


De la documentación , el énfasis es mío:

Matplotlib es el paquete completo; pylab es un módulo en matplotlib que se instala junto con matplotlib ; y matplotlib.pyplot es un módulo en matplotlib.

Pyplot proporciona la interfaz de máquina de estado a la biblioteca de trazado subyacente en matplotlib. Esto significa que las figuras y los ejes se crean de forma implícita y automática para lograr el trazado deseado. Por ejemplo, llamar a plot desde pyplot creará automáticamente la figura y los ejes necesarios para lograr el plot deseado. Al establecer un título, se establecerá automáticamente ese título en el objeto de ejes actual:

Pylab combina la funcionalidad pyplot (para trazar) con la funcionalidad numpy (para matemáticas y para trabajar con matrices) en un solo espacio de nombres, haciendo que ese espacio de nombres (o entorno) sea aún más parecido a MATLAB. Por ejemplo, uno puede llamar a las funciones sin y cos como lo haría en MATLAB, además de tener todas las características de pyplot.

La interfaz pyplot generalmente se prefiere para trazados no interactivos (es decir, secuencias de comandos). La interfaz de Pylab es conveniente para los cálculos interactivos y el trazado , ya que minimiza la escritura. Tenga en cuenta que esto es lo que obtiene si usa el shell ipython con la opción -pylab, que importa todo desde pylab y hace que el trazado sea completamente interactivo.