matplotlib
Объектно-ориентированная библиотека для построения графиков.
Процедурный интерфейс предоставляется модулем pyplot, который можно импортировать напрямую, например:
import matplotlib.pyplot as plt
или с использованием ipython:
ipython
в вашей консоли, после чего:
In [1]: %matplotlib In [2]: import matplotlib.pyplot as plt
в командной строке ipython.
В основном рекомендуется использовать прямой доступ к объектно-ориентированной библиотеке при программировании; неявный интерфейс pyplot предназначен в первую очередь для интерактивной работы. Исключением из этого правила являются функции pyplot: pyplot.figure, pyplot.subplot, pyplot.subplots и pyplot.savefig, которые могут значительно упростить скриптинг. См. Интерфейсы приложений Matplotlib (API) для объяснения компромиссов между неявным и явным интерфейсами.
Модули включают:
matplotlib.axes-
Класс
Axes. Большинство функций pyplot являются обёртками над методамиAxes. Модуль axes — это самый высокий уровень объектно-ориентированного доступа к библиотеке. matplotlib.figure-
Класс
Figure. matplotlib.artist-
Базовый класс
Artistдля всех классов, которые что-либо рисуют. matplotlib.lines-
Класс
Line2Dдля рисования линий и маркеров. matplotlib.patches-
Классы для рисования многоугольников.
matplotlib.text-
Классы
TextиAnnotation. matplotlib.image-
Классы
AxesImageиFigureImage. matplotlib.collections-
Классы для эффективного рисования групп линий или многоугольников.
matplotlib.colors-
Определения цветов и создание цветовых карт.
matplotlib.cm-
Цветовые карты и миксин-класс
ScalarMappableдля предоставления функциональности сопоставления цветов другим классам. matplotlib.ticker-
Расчёт местоположения делений шкалы и форматирование меток делений шкалы.
matplotlib.backends-
Подпакет с модулями для различных графических библиотек и форматов вывода.
Базовое пространство имён matplotlib включает:
rcParams-
Настройки конфигурации по умолчанию; их значения по умолчанию можно переопределить, используя файл
matplotlibrc. use-
Установка бэкенда Matplotlib. Это необходимо выполнить до создания любого рисунка, так как переключение между разными графическими бэкендами после этого невозможно.
Следующие переменные среды могут использоваться для настройки поведения:
MPLBACKEND-
Эта необязательная переменная может быть установлена для выбора бэкенда Matplotlib. См. Что такое бэкенд?.
MPLCONFIGDIR-
Это каталог, используемый для хранения пользовательских настроек Matplotlib, а также некоторых кэшей для повышения производительности. Если
MPLCONFIGDIRне определён, на Linux используютсяHOME/.config/matplotlibиHOME/.cache/matplotlib, а на других платформах —HOME/.matplotlib, если они доступны для записи. В противном случае используетсяtempfile.gettempdirстандартной библиотеки Python для поиска каталога, в котором создаётся подкаталогmatplotlib.
Библиотека Matplotlib была первоначально разработана Джоном Д. Хантером (1968-2012) и сейчас развивается и поддерживается многими другими.
Иногда внутренняя документация (строки документации Python) будет ссылаться на MATLAB®, зарегистрированный товарный знак The MathWorks, Inc.
END_OF_DOCUMENT_MARKERУправление бэкендом
- matplotlib.use(backend, *, force=True)[source]
-
Выберите бэкенд, используемый для рендеринга и интеграции с графическим интерфейсом.
Если pyplot уже импортирован, используется
switch_backend, и если новый бэкенд отличается от текущего, все фигуры будут закрыты.- Параметры:
-
- backendstr
-
Бэкенд, на который необходимо переключиться. Это может быть одно из стандартных имён бэкендов (регистр не учитывается):
- интерактивные бэкенды: GTK3Agg, GTK3Cairo, GTK4Agg, GTK4Cairo, MacOSX, nbAgg, notebook, QtAgg, QtCairo, TkAgg, TkCairo, WebAgg, WX, WXAgg, WXCairo, Qt5Agg, Qt5Cairo
- неинтерактивные бэкенды: agg, cairo, pdf, pgf, ps, svg, template
или строка в формате:
module://my.module.name.notebook — синоним для nbAgg.
Переключение на интерактивный бэкенд невозможно, если уже запущена не связанная с ним событийная петля (например, переключение на GTK3Agg, если уже открыто окно TkAgg). Переключение на неинтерактивный бэкенд всегда возможно.
- forcebool, по умолчанию: True
-
Если True (по умолчанию), вызовет
ImportError, если бэкенд не может быть настроен (либо из-за неудачного импорта, либо из-за работы несовместимой графической интерактивной среды); если False, тихо игнорирует ошибку.
- matplotlib.get_backend()[source]
-
Возвращает имя текущего бэкенда.
См. также
- matplotlib.interactive(b)[source]
-
Устанавливает, перерисовывать ли после каждой команды построения графика (например,
pyplot.xlabel).
- matplotlib.is_interactive()[source]
-
Возвращает, перерисовывать ли после каждой команды построения графика.
Примечание
Эта функция предназначена только для использования в бэкендах. Конечные пользователи должны использовать
pyplot.isinteractiveвместо неё.
Значения по умолчанию и стилизация
- matplotlib.rcParams[source]
-
Экземпляр
RcParamsдля обработки значений по умолчанию Matplotlib.
- classmatplotlib.RcParams(*args, **kwargs)[source]
-
Словарная структура с параметрами конфигурации, включая валидацию.
Функции валидации определены и связаны с параметрами rc в
matplotlib.rcsetup.Список параметров rc:
- _internal.classic_mode
- agg.path.chunksize
- animation.bitrate
- animation.codec
- animation.convert_args
- animation.convert_path
- animation.embed_limit
- animation.ffmpeg_args
- animation.ffmpeg_path
- animation.frame_format
- animation.html
- animation.writer
- axes.autolimit_mode
- axes.axisbelow
- axes.edgecolor
- axes.facecolor
- axes.formatter.limits
- axes.formatter.min_exponent
- axes.formatter.offset_threshold
- axes.formatter.use_locale
- axes.formatter.use_mathtext
- axes.formatter.useoffset
- axes.grid
- axes.grid.axis
- axes.grid.which
- axes.labelcolor
- axes.labelpad
- axes.labelsize
- axes.labelweight
- axes.linewidth
- axes.prop_cycle
- axes.spines.bottom
- axes.spines.left
- axes.spines.right
- axes.spines.top
- axes.titlecolor
- axes.titlelocation
- axes.titlepad
- axes.titlesize
- axes.titleweight
- axes.titley
- axes.unicode_minus
- axes.xmargin
- axes.ymargin
- axes.zmargin
- axes3d.automargin
- axes3d.grid
- axes3d.xaxis.panecolor
- axes3d.yaxis.panecolor
- axes3d.zaxis.panecolor
- backend
- backend_fallback
- boxplot.bootstrap
- boxplot.boxprops.color
- boxplot.boxprops.linestyle
- boxplot.boxprops.linewidth
- boxplot.capprops.color
- boxplot.capprops.linestyle
- boxplot.capprops.linewidth
- boxplot.flierprops.color
- boxplot.flierprops.linestyle
- boxplot.flierprops.linewidth
- boxplot.flierprops.marker
- boxplot.flierprops.markeredgecolor
- boxplot.flierprops.markeredgewidth
- boxplot.flierprops.markerfacecolor
- boxplot.flierprops.markersize
- boxplot.meanline
- boxplot.meanprops.color
- boxplot.meanprops.linestyle
- boxplot.meanprops.linewidth
- boxplot.meanprops.marker
- boxplot.meanprops.markeredgecolor
- boxplot.meanprops.markerfacecolor
- boxplot.meanprops.markersize
- boxplot.medianprops.color
- boxplot.medianprops.linestyle
- boxplot.medianprops.linewidth
- boxplot.notch
- boxplot.patchartist
- boxplot.showbox
- boxplot.showcaps
- boxplot.showfliers
- boxplot.showmeans
- boxplot.vertical
- boxplot.whiskerprops.color
- boxplot.whiskerprops.linestyle
- boxplot.whiskerprops.linewidth
- boxplot.whiskers
- contour.algorithm
- contour.corner_mask
- contour.linewidth
- contour.negative_linestyle
- date.autoformatter.day
- date.autoformatter.hour
- date.autoformatter.microsecond
- date.autoformatter.minute
- date.autoformatter.month
- date.autoformatter.second
- date.autoformatter.year
- date.converter
- date.epoch
- date.interval_multiples
- docstring.hardcopy
- errorbar.capsize
- figure.autolayout
- figure.constrained_layout.h_pad
- figure.constrained_layout.hspace
- figure.constrained_layout.use
- figure.constrained_layout.w_pad
- figure.constrained_layout.wspace
- figure.dpi
- figure.edgecolor
- figure.facecolor
- figure.figsize
- figure.frameon
- figure.hooks
- figure.labelsize
- figure.labelweight
- figure.max_open_warning
- figure.raise_window
- figure.subplot.bottom
- figure.subplot.hspace
- figure.subplot.left
- figure.subplot.right
- figure.subplot.top
- figure.subplot.wspace
- figure.titlesize
- figure.titleweight
- font.cursive
- font.family
- font.fantasy
- font.monospace
- font.sans-serif
- font.serif
- font.size
- font.stretch
- font.style
- font.variant
- font.weight
- grid.alpha
- grid.color
- grid.linestyle
- grid.linewidth
- hatch.color
- hatch.linewidth
- hist.bins
- image.aspect
- image.cmap
- image.composite_image
- image.interpolation
- image.interpolation_stage
- image.lut
- image.origin
- image.resample
- interactive
- keymap.back
- keymap.copy
- keymap.forward
- keymap.fullscreen
- keymap.grid
- keymap.grid_minor
- keymap.help
- keymap.home
- keymap.pan
- keymap.quit
- keymap.quit_all
- keymap.save
- keymap.xscale
- keymap.yscale
- keymap.zoom
- legend.borderaxespad
- legend.borderpad
- legend.columnspacing
- legend.edgecolor
- legend.facecolor
- legend.fancybox
- legend.fontsize
- legend.framealpha
- legend.frameon
- legend.handleheight
- legend.handlelength
- legend.handletextpad
- legend.labelcolor
- legend.labelspacing
- legend.loc
- legend.markerscale
- legend.numpoints
- legend.scatterpoints
- legend.shadow
- legend.title_fontsize
- lines.antialiased
- lines.color
- lines.dash_capstyle
- lines.dash_joinstyle
- lines.dashdot_pattern
- lines.dashed_pattern
- lines.dotted_pattern
- lines.linestyle
- lines.linewidth
- lines.marker
- lines.markeredgecolor
- lines.markeredgewidth
- lines.markerfacecolor
- lines.markersize
- lines.scale_dashes
- lines.solid_capstyle
- lines.solid_joinstyle
- macosx.window_mode
- markers.fillstyle
- mathtext.bf
- mathtext.bfit
- mathtext.cal
- mathtext.default
- mathtext.fallback
- mathtext.fontset
- mathtext.it
- mathtext.rm
- mathtext.sf
- mathtext.tt
- patch.antialiased
- patch.edgecolor
- patch.facecolor
- patch.force_edgecolor
- patch.linewidth
- path.effects
- path.simplify
- path.simplify_threshold
- path.sketch
- path.snap
- pcolor.shading
- pcolormesh.snap
- pdf.compression
- pdf.fonttype
- pdf.inheritcolor
- pdf.use14corefonts
- pgf.preamble
- pgf.rcfonts
- pgf.texsystem
- polaraxes.grid
- ps.distiller.res
- ps.fonttype
- ps.papersize
- ps.useafm
- ps.usedistiller
- savefig.bbox
- savefig.directory
- savefig.dpi
- savefig.edgecolor
- savefig.facecolor
- savefig.format
- savefig.orientation
- savefig.pad_inches
- savefig.transparent
- scatter.edgecolors
- scatter.marker
- svg.fonttype
- svg.hashsalt
- svg.image_inline
- text.antialiased
- text.color
- text.hinting
- text.hinting_factor
- text.kerning_factor
- text.latex.preamble
- text.parse_math
- text.usetex
- timezone
- tk.window_focus
- toolbar
- webagg.address
- webagg.open_in_browser
- webagg.port
- webagg.port_retries
- xaxis.labellocation
- xtick.alignment
- xtick.bottom
- xtick.color
- xtick.direction
- xtick.labelbottom
- xtick.labelcolor
- xtick.labelsize
- xtick.labeltop
- xtick.major.bottom
- xtick.major.pad
- xtick.major.size
- xtick.major.top
- xtick.major.width
- xtick.minor.bottom
- xtick.minor.ndivs
- xtick.minor.pad
- xtick.minor.size
- xtick.minor.top
- xtick.minor.visible
- xtick.minor.width
- xtick.top
- yaxis.labellocation
- ytick.alignment
- ytick.color
- ytick.direction
- ytick.labelcolor
- ytick.labelleft
- ytick.labelright
- ytick.labelsize
- ytick.left
- ytick.major.left
- ytick.major.pad
- ytick.major.right
- ytick.major.size
- ytick.major.width
- ytick.minor.left
- ytick.minor.ndivs
- ytick.minor.pad
- ytick.minor.right
- ytick.minor.size
- ytick.minor.visible
- ytick.minor.width
- ytick.right
См. также
- find_all(pattern)[source]
-
Возвращает подмножество словаря RcParams, ключи которого соответствуют заданному
pattern, используяre.search().Примечание
Изменения в возвращенном словаре не распространяются на родительский словарь RcParams.
- copy()[source]
-
Копирует этот экземпляр RcParams.
- matplotlib.rc_context(rc=None, fname=None)[source]
-
Возвращает контекстный менеджер для временного изменения rcParams.
Значение
rcParams["backend"]не будет сброшено контекстным менеджером.rcParams, изменённые как в вызове контекстного менеджера, так и в теле контекста, будут сброшены при выходе из контекста.
- Параметры:
-
- rcdict
-
rcParams для временного изменения.
- fnamestr или путь
-
Файл с настройками Matplotlib rc. Если заданы оба параметра fname и rc, предпочтение отдаётся настройкам из rc.
См. также
Примеры
Передача явных значений через словарь:
with mpl.rc_context({'interactive': False}): fig, ax = plt.subplots() ax.plot(range(3), range(3)) fig.savefig('example.png') plt.close(fig)Загрузка настроек из файла:
with mpl.rc_context(fname='print.rc'): plt.plot(x, y) # uses 'print.rc'Указание настроек в теле контекста:
with mpl.rc_context(): # will be reset mpl.rcParams['lines.linewidth'] = 5 plt.plot(x, y)
- matplotlib.rc(group, **kwargs)[source]
-
Установка текущих
rcParams. group — группа для rc, например, дляlines.linewidthгруппа равнаlines, дляaxes.facecolor, группа равнаaxes, и так далее. Группа также может быть списком или кортежем имён групп, например, (xtick, ytick). kwargs — словарь пар имя/значение атрибутов, например:rc('lines', linewidth=2, color='r')устанавливает текущие
rcParamsи эквивалентно:rcParams['lines.linewidth'] = 2 rcParams['lines.color'] = 'r'
Доступны следующие псевдонимы, чтобы сократить написание для интерактивных пользователей:
Псевдоним
Свойство
'lw'
'linewidth'
'ls'
'linestyle'
'c'
'color'
'fc'
'facecolor'
'ec'
'edgecolor'
'mew'
'markeredgewidth'
'aa'
'antialiased'
Таким образом, вы можете сократить предыдущий вызов до:
rc('lines', lw=2, c='r')Обратите внимание, что вы можете использовать возможности Python для хранения словарей параметров по умолчанию. Например, вы можете настроить параметры шрифта следующим образом:
font = {'family' : 'monospace', 'weight' : 'bold', 'size' : 'larger'} rc('font', **font) # pass in the font dict as kwargsЭто позволяет легко переключаться между несколькими конфигурациями. Используйте
matplotlib.style.use('default')илиrcdefaults(), чтобы восстановить значенияrcParamsпо умолчанию после внесения изменений.Примечания
Аналогичная функциональность доступна с помощью обычного интерфейса словарей, т. е.
rcParams.update({"lines.linewidth": 2, ...})(ноrcParams.updateне поддерживает сокращения или группировку).
- matplotlib.rcdefaults()[source]
-
Восстановление значений
rcParamsиз внутренних значений по умолчанию Matplotlib.Значения
rcParams, помеченные в списке исключений стилей (определённые вmatplotlib.style.core.STYLE_BLACKLIST), не обновляются.См. также
matplotlib.rc_file_defaults-
Восстановление значений
rcParamsиз файла rc, первоначально загруженного Matplotlib. matplotlib.style.use-
Использование определённого файла стиля. Вызов
style.use('default')для восстановления стиля по умолчанию.
- matplotlib.rc_file_defaults()[source]
-
Восстановление значений
rcParamsиз исходного файла rc, загруженного Matplotlib.Значения
rcParams, помеченные в списке исключений стилей (определённые вmatplotlib.style.core.STYLE_BLACKLIST), не обновляются.
- matplotlib.rc_file(fname, *, use_default_template=True)[source]
-
Обновление
rcParamsиз файла.Значения
rcParams, помеченные в списке исключений стилей (определённые вmatplotlib.style.core.STYLE_BLACKLIST), не обновляются.- Параметры:
-
- fnamestr или путь
-
Файл с настройками Matplotlib rc.
- use_default_templatebool
-
Если True, инициализируется с параметрами по умолчанию перед обновлением параметрами из указанного файла. Если False, текущая конфигурация сохраняется, и обновляются только параметры, указанные в файле.
- matplotlib.rc_params(fail_on_error=False)[source]
-
Создание экземпляра
RcParamsиз файла настроек по умолчанию Matplotlib rc.
- matplotlib.rc_params_from_file(fname, fail_on_error=False, use_default_template=True)[source]
-
Создание
RcParamsиз файла fname.- Параметры:
-
- fnamestr или путь
-
Файл с настройками Matplotlib rc.
- fail_on_errorbool
-
Если True, вызывается ошибка при неудачной попытке преобразования параметра парсером.
- use_default_templatebool
-
Если True, инициализируется с параметрами по умолчанию перед обновлением параметрами из указанного файла. Если False, класс конфигурации содержит только параметры, указанные в файле. (Полезно для обновления словарей.)
- matplotlib.get_configdir()[source]
-
Возвращает строковый путь к каталогу конфигурации.
Каталог выбирается следующим образом:
- Если переменная окружения MPLCONFIGDIR задана, используется она.
- В Linux используется спецификация XDG и сначала проверяется
$XDG_CONFIG_HOME, если определено, или$HOME/.config. В других операционных системах выбирается$HOME/.matplotlib. - Если выбранный каталог существует и доступен для записи, он используется в качестве каталога конфигурации.
- В противном случае создаётся временный каталог, и он используется в качестве каталога конфигурации.
- matplotlib.matplotlib_fname()[source]
-
Получить расположение файла конфигурации.
Расположение файла определяется в следующем порядке
$PWD/matplotlibrc-
$MATPLOTLIBRCесли это не каталог $MATPLOTLIBRC/matplotlibrc$MPLCONFIGDIR/matplotlibrc-
- В Linux,
-
-
$XDG_CONFIG_HOME/matplotlib/matplotlibrc(если$XDG_CONFIG_HOMEопределено) - или
$HOME/.config/matplotlib/matplotlibrc(если$XDG_CONFIG_HOMEне определено)
-
- В других операционных системах -
$HOME/.matplotlib/matplotlibrcесли$HOMEопределено - В последнюю очередь, ищется
$MATPLOTLIBDATA/matplotlibrc, который всегда должен существовать.
- matplotlib.get_data_path()[source]
-
Возвращает путь к данным Matplotlib.
Ведение журнала
- matplotlib.set_loglevel(level)[source]
-
Настройка уровней ведения журнала Matplotlib.
Matplotlib использует стандартную библиотеку
loggingпод корневым логгером 'matplotlib'. Это вспомогательная функция для:- установки уровня корневого логгера Matplotlib
- установки уровня обработчика корневого логгера, создавая обработчик, если он ещё не существует
Обычно необходимо вызвать
set_loglevel("info")илиset_loglevel("debug")для получения дополнительной отладочной информации.Пользователи или приложения, устанавливающие собственные обработчики журналов, могут напрямую манипулировать
logging.getLogger('matplotlib')вместо использования этой функции.- Параметры:
-
- level{"notset", "debug", "info", "warning", "error", "critical"}
-
Уровень журнала обработчика.
Примечания
В первый раз, когда эта функция вызывается, к корневому обработчику Matplotlib добавляется дополнительный обработчик; этот обработчик используется каждый раз, и эта функция просто манипулирует уровнем логгера и обработчика.
Цветовые карты и последовательности цветов
- matplotlib.colormaps[source]
-
Контейнер цветовых карт, которые известны Matplotlib по имени.
Универсальный экземпляр реестра —
matplotlib.colormaps. Пользователям не нужно создавать экземплярыColormapRegistryсамостоятельно.Доступ по чтению использует интерфейс словаря, сопоставляющий имена с
Colormap:import matplotlib as mpl cmap = mpl.colormaps['viridis']
Возвращаемые
Colormapявляются копиями, поэтому их модификация не изменит глобальное определение цветовой карты.Дополнительные цветовые карты можно добавить с помощью
ColormapRegistry.register:mpl.colormaps.register(my_colormap)
Чтобы получить список всех зарегистрированных цветовых карт, можно сделать следующее:
from matplotlib import colormaps list(colormaps)
- matplotlib.color_sequences[source]
-
Контейнер последовательностей цветов, которые известны Matplotlib по имени.
Универсальный экземпляр реестра —
matplotlib.color_sequences. Пользователям не нужно создавать экземплярыColorSequenceRegistryсамостоятельно.Доступ по чтению использует интерфейс словаря, сопоставляющий имена со списками цветов:
import matplotlib as mpl cmap = mpl.color_sequences['tab10']
Возвращаемые списки являются копиями, поэтому их модификация не изменит глобальное определение последовательности цветов.
Дополнительные последовательности цветов можно добавить с помощью
ColorSequenceRegistry.register:mpl.color_sequences.register('rgb', ['r', 'g', 'b'])
Разное
- classmatplotlib.MatplotlibDeprecationWarning[source]
-
Класс для выдачи предупреждений об устаревании для пользователей Matplotlib.
- matplotlib.get_cachedir()[source]
-
Возвращает строковый путь к каталогу кэша.
Процедура поиска каталога такая же, как для
get_configdir, за исключением использования$XDG_CACHE_HOME/$HOME/.cache.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/matplotlib_configuration_api.html