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. Это необходимо сделать до создания любого графика, поскольку переключение между различными бэкендами графических интерфейсов после этого невозможно.
Библиотека Matplotlib первоначально была разработана Джоном Д. Хантером (1968-2012) и в настоящее время разрабатывается и поддерживается многими другими.
Внутренняя документация (строки документации Python) иногда ссылается на MATLAB®, зарегистрированную торговую марку компании The MathWorks, Inc.
Управление бэкендами
- matplotlib.use(backend, *, force=True)[source]
-
Выбор бэкенда, используемого для отрисовки и интеграции с GUI.
- Параметры:
-
- backendstr
-
Бэкенд для переключения. Это может быть одно из стандартных имён бэкендов, нечувствительных к регистру:
- интерактивные бэкенды: GTK3Agg, GTK3Cairo, GTK4Agg, GTK4Cairo, MacOSX, nbAgg, QtAgg, QtCairo, TkAgg, TkCairo, WebAgg, WX, WXAgg, WXCairo, Qt5Agg, Qt5Cairo
- неинтерактивные бэкенды: agg, cairo, pdf, pgf, ps, svg, template
или строка вида:
module://my.module.name.Переключение на интерактивный бэкенд невозможно, если уже запущен независимый цикл событий (например, переключение на GTK3Agg, если уже открыто окно TkAgg). Переключение на неинтерактивный бэкенд всегда возможно.
- forcebool, по умолчанию: True
-
Если True (по умолчанию), возникает
ImportError, если бэкенд не может быть настроен (либо из-за сбоя импорта, либо из-за того, что уже запущена несовместимая среда GUI); если 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.Список rcParams:
- _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.grid
- 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.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.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
- markers.fillstyle
- mathtext.bf
- 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.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.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"]не будет сброшено менеджером контекста.- Параметры:
-
- 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'
- 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')Вы можете использовать возможности словаря kwargs 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.
- 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, создавая обработчик, если он еще не существует.
Обычно следует вызывать
set_loglevel("info")илиset_loglevel("debug")для получения дополнительной отладочной информации.- Параметры:
-
- level{"notset", "debug", "info", "warning", "error", "critical"}
-
Уровень ведения журнала обработчика.
Примечания
В первый раз при вызове этой функции к корневому обработчику Matplotlib подключается дополнительный обработчик; этот обработчик используется повторно каждый раз, и эта функция просто манипулирует уровнем регистратора и обработчика.
Цветовые карты и последовательности цветов
- matplotlib.colormaps[source]
-
Контейнер для цветовых карт, известных Matplotlib по имени.
Экспериментальный
Хотя мы ожидаем, что API будет окончательным, мы формально отмечаем его как экспериментальный для 3.5, так как хотим сохранить возможность адаптации API для 3.6, если это будет необходимо.
Универсальный экземпляр реестра —
matplotlib.colormaps. Пользователям не следует создавать экземплярыColormapRegistryсамостоятельно.Чтение использует интерфейс типа словаря, сопоставляющий имена с
Colormap:import matplotlib as mpl cmap = mpl.colormaps['viridis']
Возвращаемые
Colormapявляются копиями, поэтому их изменение не повлияет на глобальное определение цветовой карты.Дополнительные цветовые карты можно добавить с помощью
ColormapRegistry.register:mpl.colormaps.register(my_colormap)
- 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_config_dir, за исключением использования
$XDG_CACHE_HOME/$HOME/.cacheвместо.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/matplotlib_configuration_api.html