Documenti ufficiali: Matplotlib, pyplot e pylab: come sono correlati?
Entrambe queste importazioni si riducono a fare esattamente la stessa cosa ed eseguiranno lo stesso identico codice, sono solo modi diversi di importare i moduli.
Si noti inoltre che matplotlibha due livelli di interfaccia, un livello macchina a stati gestito da pyplote l'interfaccia OO pyplotè costruita sopra, vedere Come posso collegare una funzione pyplot a un'istanza di figura?
pylabè un modo semplice per importare in blocco un'intera sfilza di funzioni utili (la funzione della pyplotmacchina a stati, la maggior parte numpy) in un unico spazio dei nomi. Il motivo principale per cui questo esiste (per quanto ne so) è lavorare ipythonper creare una shell interattiva molto bella che replichi più o meno MATLAB (per rendere la transizione più facile e perché è utile per giocare). Vedi pylab.pyematplotlib/pylab.py
A un certo livello, questo è puramente una questione di gusti e dipende un po 'da quello che stai facendo.
Se si , non incorporando in una GUI (o usando un backend non interattiva per gli script di massa o utilizzando uno dei backend interattive fornite) la cosa da fare è tipico
import matplotlib.pyplot as plt
import numpy as np
plt.plot(....)
che non inquina lo spazio dei nomi. Lo preferisco così posso tenere traccia della provenienza delle cose.
Se usi
ipython --pylab
questo equivale a correre
from pylab import *
Ora è consigliabile che per le nuove versioni di ipythonutilizzare
ipython --matplotlib
che imposterà tutti i dettagli di sfondo appropriati per far funzionare bene i backend interattivi, ma non importerà nulla in blocco. Dovrai importare esplicitamente i moduli desiderati.
import numpy as np
import matplotlib.pyplot as plt
è un buon inizio.
Se stai incorporando matplotlibin una gui non vuoi importare pyplot in quanto ciò avvierà loop principali della gui extra, ed esattamente ciò che dovresti importare dipende esattamente da ciò che stai facendo.