Какой рекомендуемый способ построения: matplotlib или pylab? [закрытый]
Я вижу, что могу участка на Python используя либо:
import matplotlib
matplotlib.pyplot.plot(...)
или:
import pylab
pylab.plot(...)
оба они используют то же самое matplotlib код черчения.
Итак, какой из них сообщество Python рекомендует в качестве лучшего метода для построения? Зачем?
2 ответа:
официальные документы: Matplotlib, pyplot и pylab: как они связаны?
оба этих импорта сводятся к тому, чтобы делать точно то же самое и запускать тот же самый код, это просто разные способы импорта модулей.
также обратите внимание, что
matplotlib
имеет два уровня интерфейса, уровень состояния машины управляетсяpyplot
и интерфейс OOpyplot
построен на вершине, см. как я могу прикрепить функцию pyplot к фигуре например?
pylab
это чистый способ массового импорта целого ряда полезных функций (pyplot
функция государственной машины, большая частьnumpy
) в единое пространство имен. Основная причина, по которой это существует (в моем понимании), - это работа сipython
чтобы сделать очень хорошую интерактивную оболочку, которая более или менее повторяет MATLAB (чтобы сделать переход проще и потому, что это хорошо для игры). Смотритеpylab.py
иmatplotlib/pylab.py
на каком-то уровне, это чисто дело вкуса и зависит от того, что вы делаете.
если вы не внедрение в gui (либо с помощью неинтерактивного бэкэнда для массовых скриптов, либо с помощью одного из предоставленных интерактивных бэкэндов) типичная вещь, которую нужно сделать, это
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
в gui вы не хотите импортировать pyplot, так как это запустит дополнительные основные петли gui, и именно то, что вы должны импортировать, зависит от того, что именно вы делаете.
документация по адресу https://matplotlib.org/faq/usage_faq.html#matplotlib-pyplot-and-pylab-how-are-they-related, который также описывает разницу между pyglot и pylab, гласит: " хотя многие примеры используют pylab, это больше не рекомендуется.". Так что, я не вижу никаких причин использовать pylab или беспокоиться об этом.