Справочник API
При использовании библиотеки, как правило, создаются объекты Figure и Axes, и вызываются их методы для добавления содержимого и изменения внешнего вида.
-
matplotlib.figure: создание осей, контент на уровне фигуры -
matplotlib.axes: большинство методов построения графиков, метки осей, доступ к стилизации осей и т. д.
Пример: мы создаём фигуру fig и оси ax. Затем мы вызываем методы над ними для построения данных, добавления меток осей и заголовка фигуры.
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 4, 0.05)
y = np.sin(x*np.pi)
fig, ax = plt.subplots(figsize=(3,2), constrained_layout=True)
ax.plot(x, y)
ax.set_xlabel('t [s]')
ax.set_ylabel('S [V]')
ax.set_title('Sine wave')
fig.set_facecolor('lightsteelblue')
(Source code, png)
Способы использования
Ниже описаны несколько распространённых подходов к построению графиков с помощью Matplotlib. См. Интерфейсы приложений Matplotlib (API) для объяснения компромиссов между поддерживаемыми API пользователей.
Явный API
В основе Matplotlib лежит объектно-ориентированная библиотека. Рекомендуется напрямую работать с объектами, если вам нужен больший контроль и настройка ваших графиков.
Во многих случаях вы создадите Figure и одну или несколько Axes с помощью pyplot.subplots, и далее будете работать только с этими объектами. Однако также возможно явно создать Figure (например, при включении их в приложения с графическим интерфейсом).
Дополнительные материалы для чтения:
-
matplotlib.axes.Axesиmatplotlib.figure.Figureдля обзора функций построения графиков. - Большинство примеров используют объектно-ориентированный подход (за исключением раздела pyplot).
Неявный API
matplotlib.pyplot — это набор функций, которые позволяют Matplotlib работать, как MATLAB. Каждая функция pyplot вносит какие-либо изменения в фигуру: например, создаёт фигуру, создаёт область построения в фигуре, строит линии в области построения, оформляет график метками и т. д.
pyplot предназначен в основном для интерактивных графиков и простых случаев программируемого генерирования графиков.
Дополнительные материалы для чтения:
- Ссылка на функции
matplotlib.pyplot - Руководство по Pyplot
- Примеры Pyplot
API pylab (не рекомендуется)
Предупреждение
Поскольку сильное импортирование в глобальное пространство имён может привести к неожиданному поведению, использование pylab крайне не рекомендуется. Используйте matplotlib.pyplot вместо него.
pylab — модуль, который включает matplotlib.pyplot, numpy, numpy.fft, numpy.linalg, numpy.random и некоторые дополнительные функции, все в одном пространстве имён. Его изначальная цель заключалась в имитации работы в стиле MATLAB, импортируя все функции в глобальное пространство имён. В настоящее время это считается плохим стилем.
Модули
Алфавитный список модулей:
matplotlibmatplotlib.afmmatplotlib.animationmatplotlib.artistmatplotlib.axesmatplotlib.axismatplotlib.backend_basesmatplotlib.backend_managersmatplotlib.backend_toolsmatplotlib.backendsmatplotlib.beziermatplotlib.categorymatplotlib.cbookmatplotlib.cmmatplotlib.collectionsmatplotlib.colorbarmatplotlib.colorsmatplotlib.containermatplotlib.contourmatplotlib.datesmatplotlib.docstringmatplotlib.dvireadmatplotlib.figurematplotlib.font_managermatplotlib.ft2fontmatplotlib.gridspecmatplotlib.hatchmatplotlib.imagematplotlib.layout_enginematplotlib.legendmatplotlib.legend_handlermatplotlib.linesmatplotlib.markersmatplotlib.mathtextmatplotlib.mlabmatplotlib.offsetboxmatplotlib.patchesmatplotlib.pathmatplotlib.patheffectsmatplotlib.pyplotmatplotlib.projectionsmatplotlib.quivermatplotlib.rcsetupmatplotlib.sankeymatplotlib.scalematplotlib.sphinxext.mathmplmatplotlib.sphinxext.plot_directivematplotlib.spinesmatplotlib.stylematplotlib.tablematplotlib.testingmatplotlib.textmatplotlib.texmanagermatplotlib.tickermatplotlib.tight_bboxmatplotlib.tight_layoutmatplotlib.transformsmatplotlib.trimatplotlib.type1fontmatplotlib.unitsmatplotlib.widgetsmatplotlib._apimatplotlib._enumsmpl_toolkits.mplot3dmpl_toolkits.axes_grid1mpl_toolkits.axisartist
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/index.html