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 recomiendan actualmente los desarrolladores / documentos de Matplotlib como el mejor método para trazar? ¿Por qué?
python
matplotlib
Ashwin Nanjappa
fuente
fuente

matplotlib.pyplotRespuestas:
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
matplotlibtiene dos capas de interfaz, una capa de máquina de estado administrada porpyploty la interfaz OOpyplotestá construida sobre ella, consulte ¿Cómo puedo adjuntar una función pyplot a una instancia de figura?pylabes una forma limpia de importar de forma masiva una gran cantidad de funciones útiles (la función de lapyplotmáquina de estado, la mayoríanumpy) en un solo espacio de nombres. La razón principal por la que esto existe (a mi entender) es para trabajaripythonpara crear un shell interactivo muy agradable que más o menos replica MATLAB (para facilitar la transición y porque es bueno para jugar). Verpylab.pyymatplotlib/pylab.pyEn 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
esto es equivalente a correr
from pylab import *Ahora se recomienda que para las nuevas versiones de
ipythonsu usoque 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 pltes un buen comienzo.
Si está incrustando
matplotliben 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.fuente
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 usan pylab, ya no se recomienda ". . Entonces, no veo ninguna razón para usar pylab o preocuparme por eso.
fuente