Какой рекомендуемый способ построения: matplotlib или pylab?

Я вижу, что я могу построить в Python, используя либо:

import matplotlib
matplotlib.pyplot.plot(...)

Или же:

import pylab
pylab.plot(...)

Оба из них используют один и тот же код построения matplotlib.

Итак, что из этого сообщество Python рекомендует как лучший метод для построения? Зачем?

2 ответа

Решение

Официальные документы: 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(....)

который не загрязняет пространство имен. Я предпочитаю это, чтобы я мог отслеживать, откуда взялись вещи.

Если вы используете

ipython --pylab

это эквивалентно бегу

from pylab import * 

Теперь рекомендуется, чтобы для новых версий ipython ты используешь

ipython --matplotlib

который настроит все необходимые детали фона, чтобы интерактивные серверные части работали хорошо, но не будет ничего импортировать. Вам нужно будет явно импортировать нужные модули.

import numpy as np
import matplotlib.pyplot as plt

хорошее начало

Если вы встраиваете matplotlib в графическом интерфейсе вы не хотите импортировать pyplot, так как это запустит дополнительные основные циклы графического интерфейса, и то, что именно вы должны импортировать, зависит именно от того, что вы делаете.

Документация по адресу https://matplotlib.org/faq/usage_faq.html, которая также описывает разницу между pyglot и pylab, гласит: "Хотя во многих примерах используется pylab, больше не рекомендуется "., Поэтому я не вижу причин использовать pylab или беспокоиться об этом.

Другие вопросы по тегам