web-dev-qa-db-fra.com

Confusion entre numpy, scipy, matplotlib et pylab

Numpy, scipy, matplotlib et pylab sont des termes courants parmi ceux qui utilisent python pour le calcul scientifique.

Je viens d’en apprendre un peu sur le pylab, et je me suis perdu. Chaque fois que je veux importer numpy, je peux toujours faire:

import numpy as np

Je considère juste, qu'une fois que je fais

from pylab import *

le numpy sera également importé (avec np alias). Donc, fondamentalement, le second fait plus de choses que le premier.

Il y a peu de choses que je veux demander:

  1. Est-il vrai que pylab est juste une enveloppe pour numpy, scipy et matplotlib?
  2. Comme np est l’alias numpy dans pylab, quel est l’alias scipy et matplotlib dans pylab? (autant que je sache, plt est le pseudonyme de matplotlib.pyplot, mais je ne connais pas le pseudonyme de matplotlib lui-même)
129
goFrendiAsgard
  1. Non, pylab fait partie de matplotlib (in matplotlib.pylab) et essaie de vous donner un environnement semblable à MatLab. matplotlib comporte un certain nombre de dépendances, parmi lesquelles numpy, qu'il importe sous le même alias np. scipy n'est pas une dépendance de matplotlib.

  2. Si vous exécutez ipython --pylab une importation automatique mettra tous les symboles de matplotlib.pylab dans la portée globale. Comme vous l'avez écrit, numpy est importé sous l'alias np. Les symboles de matplotlib sont disponibles sous l'alias mpl.

124
Benjamin Bannier

Scipy et numpy sont des projets scientifiques ayant pour objectif de permettre un traitement numérique rapide et efficace en python.

Matplotlib est le nom de la bibliothèque de traçage python.

Pyplot est une API interactive pour matplotlib, principalement destinée à être utilisée dans des notebooks tels que jupyter. Vous l'utilisez généralement comme ceci: import matplotlib.pyplot as plt.

Pylab est la même chose que pyplot, mais avec des fonctionnalités supplémentaires (son utilisation est actuellement déconseillée).

  • En gros, pylab = pyplot + numpy

Voir plus d'informations ici: Matplotlib, Pylab, Pyplot, etc.: Quelle est la différence entre ces deux règles et quand les utiliser?

9
Felipe Almeida