Який рекомендований спосіб побудови графіку: matplotlib або pylab? [зачинено]


88

Я бачу, що я можу побудувати графік на Python, використовуючи:

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

Або:

import pylab
pylab.plot(...)

Обидва вони використовують однаковий код побудови matplotlib .

Отже, що з цього розробники / документи Matplotlib в даний час рекомендують як кращий спосіб побудови графіку? Чому?


1
можливий дублікат Яка різниця між pylab та pyplot?
tacaswell

9
Самостійне копіювання?
Божевільний фізик,

4
Це не слід закривати на основі думок. Зараз є чітка відповідь із документів Matplotlib: Завжди використовуватиmatplotlib.pyplot
Бернхард

Відповіді:


104

Офіційні документи: Matplotlib, pyplot та pylab: як вони пов’язані?

Обидва ці імпорти киплять, роблячи абсолютно те саме, і запускатимуть однаковий код, це просто різні способи імпорту модулів.

Також зверніть увагу, що він matplotlibмає два шари інтерфейсу, рівень автомата, яким керує pyplotі інтерфейс OO, який 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, оскільки це запустить додаткові основні цикли gui, і саме те, що вам слід імпортувати, залежить від того, що саме ви робите.


19
Різниця між pylab та pyplot полягає в тому, що перший імпортує numpy у свій простір імен. Це мало зробити так, щоб він поводився більш подібним чином з матлабом. Зараз переважно використовувати pyplot замість pylab, оскільки він чистіший.
Крістіан Аліс

8

Документація на https://matplotlib.org/faq/usage_faq.html#matplotlib-pyplot-and-pylab-how-are-they-related , яка також описує різницю між піглотом і пілабом, говорить: "Хоча багато прикладів використовують pylab, це більше не рекомендується ". . Отже, я не бачу жодної причини використовувати pylab або хвилюватися з цього приводу.


1
Це має бути прийнятою відповіддю. "Офіційною" документацією є джерело джерела, і в ньому сказано, що пілаб більше не рекомендується.
dturvene
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.