Ответ 1
Официальные документы: Matplotlib, pyplot и pylab: как они связаны?
Оба этих импорта сводятся к одному и тому же коду и запускают один и тот же код, это просто разные способы импорта модулей.
Также обратите внимание, что matplotlib
имеет два уровня интерфейса: уровень pyplot
автомата, управляемый pyplot
и pyplot
которого построен pyplot
интерфейса OO, см. Как я могу присоединить функцию pyplot к экземпляру рисунка?
pylab
- это чистый способ массового импорта целого ряда полезных функций (функция pyplot
автомата pyplot
, большая часть numpy
) в одно пространство имен. Основная причина, по которой это существует (на мой ipython
), заключается в том, чтобы работать с ipython
для создания очень ipython
интерактивной оболочки, которая более или менее повторяет MATLAB (чтобы облегчить переход и потому что он хорош для игры). Смотрите pylab.py
и matplotlib/pylab.py
На каком-то уровне это чисто вопрос вкуса и зависит от того, что вы делаете.
Если вы не встраиваете в графический интерфейс (либо используете неинтерактивный бэкенд для массовых сценариев, либо используете один из предоставленных интерактивных бэкендов), то обычно нужно сделать следующее:
import matplotlib.pyplot as plt
import numpy as np
plt.plot(....)
который не загрязняет пространство имен. Я предпочитаю это, чтобы я мог отслеживать, откуда пришли вещи.
Если вы используете
ipython --pylab
это эквивалентно бегу
from pylab import *
Теперь для новых версий ipython
ipython --matplotlib
который настроит все необходимые детали фона, чтобы интерактивные серверные части работали хорошо, но не будет ничего импортировать. Вам нужно будет явно импортировать нужные модули.
import numpy as np
import matplotlib.pyplot as plt
хорошее начало
Если вы встраиваете matplotlib
в matplotlib
вы не хотите импортировать pyplot, так как это запустит дополнительные основные циклы графического интерфейса, и то, что именно вы должны импортировать, зависит именно от того, что вы делаете.