Documentos oficiales: Matplotlib, pyplot y pylab: ¿cómo se relacionan?
Ambas importaciones se reducen a hacer exactamente lo mismo y ejecutarán exactamente el mismo código, son solo diferentes formas 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 OO pyplot
está construida sobre ella, consulte ¿Cómo puedo adjuntar una función pyplot 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 la pyplot
máquina de estado, la mayoría numpy
) en un solo espacio de nombres. La razón principal por la que esto existe (a mi entender) es para trabajar 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). Ver pylab.py
ymatplotlib/pylab.py
En cierto nivel, esto es puramente cuestión de gustos y depende un poco de lo que estés haciendo.
Si está no ha incrustado en una interfaz gráfica de usuario (ya sea usando un backend no interactivo para las escrituras a granel o usando uno de los backends interactivos proporcionados) lo típico que hacer es
import matplotlib.pyplot as plt
import numpy as np
plt.plot(....)
que no contamina el espacio de nombres. Prefiero esto para poder realizar un seguimiento 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
su uso
ipython --matplotlib
que configurará todos los detalles de fondo adecuados para que los backends interactivos funcionen bien, pero no importará nada en masa. Deberá 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 gráfica de usuario, no desea importar pyplot, ya que eso iniciará bucles principales de interfaz gráfica de usuario adicionales, y exactamente lo que debe importar depende de exactamente lo que esté haciendo.