Я вижу, что могу строить на Python, используя:
import matplotlib
matplotlib.pyplot.plot(...)
Или:
import pylab
pylab.plot(...)
Оба они используют один и тот же код построения графика matplotlib .
Итак, что из них разработчики / документы Matplotlib в настоящее время рекомендуют как лучший метод для построения графика? Зачем?
python
matplotlib
Ашвин Нанджаппа
источник
источник
matplotlib.pyplot
Ответы:
Официальные документы: Matplotlib, pyplot и pylab: как они связаны?
Оба этих импорта сводятся к тому, что делают одно и то же и будут запускать один и тот же код, это просто разные способы импорта модулей.
Также обратите внимание, что
matplotlib
есть два уровня интерфейса: уровень конечного автомата, управляемыйpyplot
и объектно- ориентированный интерфейсpyplot
, построенный поверх, см. Как я могу прикрепить функцию pyplot к экземпляру фигуры?pylab
это чистый способ массового импорта множества полезных функций (функцияpyplot
конечного автомата, по большей частиnumpy
) в единое пространство имен. Основная причина, по которой это существует (насколько я понимаю), заключается в том, чтобы работатьipython
над созданием очень красивой интерактивной оболочки, которая более или менее копирует MATLAB (чтобы упростить переход и потому, что это хорошо для игры). Смотритеpylab.py
иmatplotlib/pylab.py
На каком-то уровне это чисто дело вкуса и немного зависит от того, что вы делаете.
Если вы не встраиваете графический интерфейс (либо используете неинтерактивный бэкэнд для массовых скриптов, либо один из предоставленных интерактивных бэкэндов), обычно вам нужно сделать следующее:
import matplotlib.pyplot as plt import numpy as np plt.plot(....)
что не загрязняет пространство имен. Я предпочитаю это, чтобы я мог отслеживать, откуда пришел материал.
Если вы используете
это эквивалентно бегу
from pylab import *
Теперь рекомендуется для новых версий
ipython
использоватькоторый настроит все необходимые фоновые детали, чтобы интерактивные серверы работали нормально, но не будет ничего массового импорта. Вам нужно будет явно импортировать нужные модули.
import numpy as np import matplotlib.pyplot as plt
хорошее начало.
Если вы встраиваете
matplotlib
графический интерфейс, вы не хотите импортировать pyplot, так как это запустит дополнительные основные циклы графического интерфейса, а то, что вы должны импортировать, зависит от того, что именно вы делаете.источник
В документации по адресу https://matplotlib.org/faq/usage_faq.html#matplotlib-pyplot-and-pylab-how-are-they-related , где также описывается разница между pyglot и pylab, говорится: «Хотя во многих примерах используется pylab, больше не рекомендуется ". . Так что я не вижу причин использовать pylab или беспокоиться об этом.
источник