Numpy, scipy, matplotlib e pylab são termos comuns entre os que usam python para computação científica.
Eu apenas aprendi um pouco sobre o pylab e fiquei confuso. Sempre que eu quiser importar numpy, sempre posso:
import numpy as np
Eu apenas considero que uma vez que eu faço
from pylab import *
o numpy também será importado (com np
alias). Então, basicamente, o segundo faz mais coisas em comparação com o primeiro.
Há algumas coisas que quero perguntar:
- É certo que o pylab é apenas um invólucro para numpy, scipy e matplotlib?
- Como np é o alias numpy no pylab, qual é o aliado de scipy e matplotlib no pylab? (até onde sei, plt é o alias do matplotlib.pyplot, mas não sei o alias do próprio matplotlib)
python
numpy
matplotlib
scipy
goFrendiAsgard
fonte
fonte
/usr/lib/pymodules/python2.7/matplotlib/pylab.py
(o caminho exato é um pouco diferente para Windows ou OSX; perguntar se precisar de ajuda para encontrá-lo.)Respostas:
Não,
pylab
faz parte dematplotlib
(inmatplotlib.pylab
) e tenta fornecer um ambiente semelhante ao MatLab.matplotlib
possui várias dependências, entre elasnumpy
importadas sob o alias comumnp
.scipy
não é uma dependência dematplotlib
.Se você executar
ipython --pylab
uma importação automática, todos os símbolos serão inseridosmatplotlib.pylab
no escopo global. Como você escreveu,numpy
é importado sob onp
alias. Os símbolos dematplotlib
estão disponíveis sob ompl
alias.fonte
Scipy e numpy são projetos científicos cujo objetivo é trazer computação numérica eficiente e rápida para o python.
Matplotlib é o nome da biblioteca de plotagem python.
O Pyplot é uma API interativa para o matplotlib, principalmente para uso em notebooks como o jupyter. Você geralmente usá-lo como este:
import matplotlib.pyplot as plt
.O Pylab é a mesma coisa que o pyplot, mas com recursos extras (seu uso atualmente é desencorajado).
Veja mais informações aqui: Matplotlib, Pylab, Pyplot, etc: Qual é a diferença entre estes e quando usar cada um?
fonte
Matplotlib
É o pacote inteiro ;matplotlib.pyplot
é um módulo no matplotlib ; epylab
é um módulo que é instalado ao lado do matplotlib. "Como algumas pessoas (como eu) ainda podem estar confusas sobre o uso do pylab, já que existem exemplos
pylab
na Internet, aqui está uma citação da FAQ oficial do matplotlib:Então, TL; DR; é não use pylab, ponto final. Use
pyplot
e importenumpy
separadamente, conforme necessário.Aqui está o link para mais leituras e outros exemplos úteis.
fonte