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.pyplot
Respuestas:
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 porpyplot
y la interfaz OOpyplot
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 lapyplot
má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 trabajaripython
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). Verpylab.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
esto es equivalente a correr
from pylab import *
Ahora se recomienda que para las nuevas versiones de
ipython
su 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 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.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