Spec-Zone.ru › Matplotlib 3.7

matplotlib.cbook

Коллекция служебных функций и классов. Изначально многие (но не все) были из Python Cookbook — отсюда и название cbook.

Этот модуль безопасно импортировать из любой части Matplotlib; он импортирует Matplotlib только во время выполнения.

classmatplotlib.cbook.CallbackRegistry(exception_handler=<function _exception_printer>, *, signals=None)[source]

Bases: object

Обработка регистрации, обработки, блокировки и отключения для набора сигналов и обратных вызовов:

>>> def oneat(x):
...     print('eat', x)
>>> def ondrink(x):
...     print('drink', x)
>>> from matplotlib.cbook import CallbackRegistry
>>> callbacks = CallbackRegistry()
>>> id_eat = callbacks.connect('eat', oneat)
>>> id_drink = callbacks.connect('drink', ondrink)
>>> callbacks.process('drink', 123)
drink 123
>>> callbacks.process('eat', 456)
eat 456
>>> callbacks.process('be merry', 456)   # nothing will be called
>>> callbacks.disconnect(id_eat)
>>> callbacks.process('eat', 456)        # nothing will be called
>>> with callbacks.blocked(signal='drink'):
...     callbacks.process('drink', 123)  # nothing will be called
>>> callbacks.process('drink', 123)
drink 123

На практике следует всегда отключать все обратные вызовы, когда они больше не нужны, чтобы избежать висячих ссылок (и, следовательно, утечек памяти). Однако реальный код в Matplotlib редко это делает, и из-за его дизайна довольно сложно разместить такой код. Чтобы обойти это и предотвратить этот класс утечек памяти, мы вместо этого храним только слабые ссылки на связанные методы, так что когда целевой объект должен умереть, CallbackRegistry не будет его поддерживать.

Параметры:
exception_handlerвызываемый объект, необязательно

Если не равно None, exception_handler должен быть функцией, которая принимает исключение Exception в качестве единственного параметра. Она вызывается с любым исключением Exception, поднятым обратными вызовами во время CallbackRegistry.process, и может либо повторно поднять исключение, либо обработать его другим способом.

Обработчик по умолчанию выводит исключение (с traceback.print_exc) если работает интерактивный цикл событий; он повторно поднимает исключение, если интерактивный цикл событий не работает.

signalsсписок, необязательно

Если не равно None, signals — это список сигналов, которые обрабатывает этот регистр: попытка process или connect к сигналу, отсутствующему в списке, вызывает ValueError. По умолчанию, None, не ограничивает обрабатываемые сигналы.

blocked(*, signal=None)[source]

Блокировка сигналов обратного вызова для обработки.

Контекстный менеджер для временной блокировки/отключения сигналов обратного вызова от обработки зарегистрированными слушателями.

Параметры:
signalстрока, необязательно

Сигнал обратного вызова для блокировки. По умолчанию блокируются все сигналы.

connect(signal, func)[source]

Регистрация func для вызова при генерации сигнала signal.

disconnect(cid)[source]

Отключение обратного вызова, зарегистрированного с идентификатором обратного вызова cid.

Ошибка не генерируется, если такой обратный вызов не существует.

process(s, *args, **kwargs)[source]

Обработка сигнала s.

Все функции, зарегистрированные для получения обратных вызовов по s, будут вызваны с *args и **kwargs.

classmatplotlib.cbook.Grouper(init=())[source]

Bases: object

Структура данных непересекающихся множеств.

Объекты могут быть объединены с помощью join(), проверены на связанность с помощью joined(), и все непересекающиеся множества могут быть получены, используя объект в качестве итератора.

Объединяемые объекты должны быть хешируемыми и поддерживать слабые ссылки.

Примеры

>>> from matplotlib.cbook import Grouper
>>> class Foo:
...     def __init__(self, s):
...         self.s = s
...     def __repr__(self):
...         return self.s
...
>>> a, b, c, d, e, f = [Foo(x) for x in 'abcdef']
>>> grp = Grouper()
>>> grp.join(a, b)
>>> grp.join(b, c)
>>> grp.join(d, e)
>>> list(grp)
[[a, b, c], [d, e]]
>>> grp.joined(a, b)
True
>>> grp.joined(a, c)
True
>>> grp.joined(a, d)
False
clean()[source]

Очистка мертвых слабых ссылок из словаря.

get_siblings(a)[source]

Возвращает все элементы, объединённые с a, включая себя.

join(a, *args)[source]

Объединение заданных аргументов в один и тот же набор. Принимает один или несколько аргументов.

joined(a, b)[source]

Возвращает, являются ли a и b членами одного и того же множества.

remove(a)[source]
END_OF_DOCUMENT_MARKER
classmatplotlib.cbook.GrouperView(grouper)[source]

Bases: object

Неизменяемый вид на Grouper.

clean()[source]

[Устарело] Очистить устаревшие слабые ссылки из словаря.

Примечания

Устарело начиная с версии 3.6.

get_siblings(a)[source]

Возвращает все элементы, объединённые с a, включая сам a.

join(a, *args)[source]

[Устарело] Объединить заданные аргументы в один и тот же набор. Принимает один или несколько аргументов.

Примечания

Устарело начиная с версии 3.6.

joined(a, b)[source]

Возвращает, являются ли a и b членами одного набора.

remove(a)[source]

[Устарело]

Примечания

Устарело начиная с версии 3.6:

classmatplotlib.cbook.Stack(default=None)[source]

Bases: object

Стек элементов с перемещаемым курсором.

Имитирует навигацию назад/вперед в веб-браузере.

back()[source]

Переместить позицию назад и вернуть текущий элемент.

bubble(o)[source]

Поднять все ссылки на o наверх стека и вернуть его.

Возможные исключения:
ValueError

Если o не находится в стеке.

clear()[source]

Очистить стек.

empty()[source]

Возвращает, пуст ли стек.

forward()[source]

Переместить позицию вперед и вернуть текущий элемент.

home()[source]

Поместить первый элемент наверх стека.

Возвращает первый элемент.

push(o)[source]

Поместить o в стек в текущей позиции. Отбросить все последующие элементы.

Возвращает o.

remove(o)[source]

Удалить o из стека.

Возможные исключения:
ValueError

Если o не находится в стеке.

END_OF_DOCUMENT_MARKER
matplotlib.cbook.boxplot_stats(X, whis=1.5, bootstrap=None, labels=None, autorange=False)[source]

Возвращает список словарей со статистикой, используемой для построения серии диаграмм размаха и ящика с помощью bxp.

Параметры:
Xarray-like

Данные, которые будут представлены в диаграммах размаха. Должны иметь 2 или меньше измерений.

whisfloat или (float, float), по умолчанию: 1.5

Положение усов.

Если float, нижний ус находится в наименьшем значении, превышающем Q1 - whis*(Q3-Q1), а верхний ус в наибольшем значении, меньше чем Q3 + whis*(Q3-Q1), где Q1 и Q3 — первый и третий квартили. Значение по умолчанию whis = 1.5 соответствует исходному определению диаграмм размаха по Туки.

Если пара чисел с плавающей запятой, они указывают на процентили, на которых следует рисовать усы (например, (5, 95)). В частности, установка значения на (0, 100) приводит к усам, охватывающим весь диапазон данных.

В случае, когда Q1 == Q3, whis автоматически устанавливается в (0, 100) (покрывает весь диапазон данных), если autorange имеет значение True.

За пределами усов данные считаются выбросами и отображаются как отдельные точки.

bootstrapint, необязательно

Количество раз, когда должны быть заново рассчитаны доверительные интервалы вокруг медианы (метод процентилей).

labelsarray-like, необязательно

Метки для каждого набора данных. Длина должна быть совместима с измерениями X.

autorangebool, необязательно (False)

Когда True и данные распределены таким образом, что 25-й и 75-й процентили равны, whis устанавливается в (0, 100), так что концы усов находятся в минимальном и максимальном значениях данных.

Возвращаемое значение:
list of dict

Список словарей, содержащих результаты для каждого столбца данных. Ключи каждого словаря — следующие:

Ключ

Описание значения

label

метка для диаграммы размаха

mean

арифметическое среднее значение

med

50-й процентиль

q1

первый квартиль (25-й процентиль)

q3

третий квартиль (75-й процентиль)

iqr

межквартильный размах

cilo

нижняя отметка вокруг медианы

cihi

верхняя отметка вокруг медианы

whislo

конец нижнего уса

whishi

конец верхнего уса

fliers

выбросы

Примечания

Не использующий метод бутстреп для интервала доверия использует асимптотическое приближение, основанное на распределении Гаусса:

\[\mathrm{med} \pm 1.57 \times \frac{\mathrm{iqr}}{\sqrt{N}}\]

Общие подходы из: McGill, R., Tukey, J.W., и Larsen, W.A. (1978) "Variations of Boxplots", The American Statistician, 32:12-16.

matplotlib.cbook.contiguous_regions(mask)[source]

Возвращает список (ind0, ind1) такой, что mask[ind0:ind1].all() имеет значение True, и мы покрываем все такие области.

matplotlib.cbook.delete_masked_points(*args)[source]

Находит все замаскированные и/или неконечные точки в наборе аргументов и возвращает аргументы с оставшимися только незамаскированными точками.

Аргументы могут быть любой из 5 категорий:

  1. 1-D массивы с маской
  2. 1-D массивы NumPy
  3. массивы NumPy с более чем одним измерением
  4. другие итерируемые объекты, не являющиеся строками
  5. любой другой тип

Первый аргумент должен быть одним из первых четырех типов; любой аргумент с длиной, отличающейся от длины первого аргумента (и, следовательно, любой аргумент из категории 5), передается без изменений.

Маски получаются от всех аргументов правильной длины в категориях 1, 2 и 4; точка считается плохой, если замаскирована в массиве с маской или является nan или inf. Не предпринимается попытка извлечь маску из категорий 2, 3 и 4, если numpy.isfinite не возвращает массив boolean.

Все входные аргументы, которые не передаются без изменений, возвращаются в виде массивов NumPy после удаления точек или строк, соответствующих маскам в любом из аргументов.

Значительно упрощенная версия этой функции изначально была написана как помощник для Axes.scatter().

matplotlib.cbook.file_requires_unicode(x)[source]

Возвращает значение True, если данному файловому объекту необходимо использовать Unicode для записи.

matplotlib.cbook.flatten(seq, scalarp=<function is_scalar_or_string>)[source]

Возвращает генератор сплющенных вложенных контейнеров.

Например:

>>> from matplotlib.cbook import flatten
>>> l = (('John', ['Hunter']), (1, 23), [[([42, (5, 23)], )]])
>>> print(list(flatten(l)))
['John', 'Hunter', 1, 23, 42, 5, 23]

Авторы: Composite of Holger Krekel and Luther Blissett Источник: https://code.activestate.com/recipes/121294/ и рецепт 1.12 в кулинарной книге

matplotlib.cbook.get_sample_data(fname, asfileobj=True, *, np_load=False)[source]

Возвращает файл с образцовыми данными. fname — путь, относительный к mpl-data/sample_data каталогу. Если asfileobj имеет значение True, возвращает объект файла, иначе — просто путь к файлу.

Файлы с образцовыми данными хранятся в каталоге 'mpl-data/sample_data' в пакете Matplotlib.

Если имя файла заканчивается на .gz, файл неявно распаковывается. Если имя файла заканчивается на .npy или .npz, asfileobj имеет значение True, а np_load имеет значение True, файл загружается с помощью numpy.load. В настоящее время np_load по умолчанию имеет значение False, но в будущей версии будет установлено в значение True.

END_OF_DOCUMENT_MARKER
matplotlib.cbook.index_of(y)[source]

Функция-помощник для создания разумных значений x для заданного y.

Используется для построения графиков (x, y), если значения x не заданы явно.

Сначала попробуйте y.index (предполагая, что y — pandas.Series), если это не сработает, используйте range(len(y)).

В будущем эта функция будет расширена для работы с другими типами меченых данных.

Параметры:
yfloat или массив-подобный объект
Возвращает:
x, yndarray

Значения x и y для построения графика.

matplotlib.cbook.is_math_text(s)[source]

Возвращает, содержит ли строка s математические выражения.

Это делается путем проверки, содержит ли s четное число неэкранированных знаков доллара.

matplotlib.cbook.is_scalar_or_string(val)[source]

Возвращает, является ли заданный объект скаляром или похожим на строку.

matplotlib.cbook.is_writable_file_like(obj)[source]

Возвращает, похоже ли obj на объект файла с методом write.

matplotlib.cbook.ls_mapper={'-': 'solid', '--': 'dashed', '-.': 'dashdot', ':': 'dotted'}

Сопоставляет короткие коды стиля линии с полным именем, используемым бэкендами.

matplotlib.cbook.ls_mapper_r={'dashdot': '-.', 'dashed': '--', 'dotted': ':', 'solid': '-'}

Сопоставляет полные имена стилей линий, используемых бэкендами, с их короткими кодами.

classmatplotlib.cbook.maxdict(maxsize)[source]

Наследуется от dict

[Устарело] Словарь с максимальным размером.

Примечания

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

Устарело начиная с версии 3.6: Используйте functools.lru_cache вместо этого.

matplotlib.cbook.normalize_kwargs(kw, alias_mapping=None)[source]

Функция-помощник для нормализации входных данных kwarg.

Параметры:
kwdict или None

Словарь ключевых аргументов. None явно поддерживается и обрабатывается как пустой словарь, чтобы поддерживать функции с необязательным параметром вида props=None.

alias_mappingdict или подкласс Artist или экземпляр Artist, необязательно

Сопоставление между каноническим именем и списком псевдонимов в порядке приоритета, от низшего к высшему.

Если каноническое значение не находится в списке, предполагается, что у него самый высокий приоритет.

Если передан подкласс или экземпляр Artist, используется его сопоставление псевдонимов.

Исключения:
TypeError

Для соответствия тому, что поднимает Python, если переданы недействительные аргументы/ключевые аргументы вызываемому объекту.

matplotlib.cbook.open_file_cm(path_or_file, mode='r', encoding=None)[source]

Передача объектов файлов и управление файлами-подобными объектами.

matplotlib.cbook.print_cycles(objects, outstream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, show_progress=False)[source]

Выводит циклы циклических ссылок в заданных objects.

Часто полезно передавать gc.garbage для поиска циклов, которые препятствуют сборке мусора некоторых объектов.

Параметры:
objects

Список объектов, в которых нужно найти циклы.

outstream

Поток для вывода.

show_progressbool

Если True, выводит количество достигнутых объектов по мере их обнаружения.

matplotlib.cbook.pts_to_midstep(x, *args)[source]

Преобразование непрерывной линии в средние шаги.

При заданном наборе N точек преобразуйте в 2N точки, которые при линейном соединении дают ступенчатую функцию, изменяющую значения в середине интервалов.

Параметры:
xмассив

Расположение x шагов. Может быть пустым.

y1, ..., ypмассив

Массивы y, которые должны быть преобразованы в шаги; все они должны иметь одинаковую длину с x.

Возвращает:
массив

Значения x и y, преобразованные в шаги в том же порядке, что и входные данные; может быть распакован как x_out, y1_out, ..., yp_out. Если длина входных данных N, каждая из этих массивов будет иметь длину 2N.

Примеры

>>> x_s, y1_s, y2_s = pts_to_midstep(x, y1, y2)
matplotlib.cbook.pts_to_poststep(x, *args)[source]

Преобразование непрерывной линии в постшаги.

Исходя из набора N точек, преобразуйте в 2N + 1 точки, которые при линейном соединении дают ступенчатую функцию, меняющую значения в конце интервалов.

Параметры:
xмассив

Положение x шагов. Может быть пустым.

y1, ..., ypмассив

Массивы y, которые должны быть преобразованы в шаги; все должны иметь одинаковую длину с x.

Возвращаемые значения:
массив

Значения x и y, преобразованные в шаги в том же порядке, что и входные данные; могут быть распакованы как x_out, y1_out, ..., yp_out. Если длина входных данных равна N, каждый из этих массивов будет иметь длину 2N + 1. Для N=0, длина будет 0.

Примеры

>>> x_s, y1_s, y2_s = pts_to_poststep(x, y1, y2)
matplotlib.cbook.pts_to_prestep(x, *args)[source]

Преобразование непрерывной линии в предшаги.

Исходя из набора N точек, преобразуйте в 2N - 1 точки, которые при линейном соединении дают ступенчатую функцию, меняющую значения в начале интервалов.

Параметры:
xмассив

Положение x шагов. Может быть пустым.

y1, ..., ypмассив

Массивы y, которые должны быть преобразованы в шаги; все должны иметь одинаковую длину с x.

Возвращаемые значения:
массив

Значения x и y, преобразованные в шаги в том же порядке, что и входные данные; могут быть распакованы как x_out, y1_out, ..., yp_out. Если длина входных данных равна N, каждый из этих массивов будет иметь длину 2N + 1. Для N=0, длина будет 0.

Примеры

>>> x_s, y1_s, y2_s = pts_to_prestep(x, y1, y2)
matplotlib.cbook.safe_first_element(obj)[source]

Возвращает первый элемент в obj.

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

matplotlib.cbook.safe_masked_invalid(x, copy=False)[source]
matplotlib.cbook.sanitize_sequence(data)[source]

Преобразуйте объекты dictview в список. Другие входные данные возвращаются без изменений.

classmatplotlib.cbook.silent_list(type, seq=None)[source]

Базовое класс: list

Список с коротким repr().

Предназначен для использования с однородным списком объектов-артистов, чтобы они не выводили длинный бессмысленный вывод.

Вместо

[<matplotlib.lines.Line2D object at 0x7f5749fed3c8>,
 <matplotlib.lines.Line2D object at 0x7f5749fed4e0>,
 <matplotlib.lines.Line2D object at 0x7f5758016550>]

будет получено

<a list of 3 Line2D objects>

Если self.type равно None, имя типа берётся из первого элемента списка (если он есть).

matplotlib.cbook.simple_linear_interpolation(a, steps)[source]

Перевыборка массива с steps - 1 точками между исходными парами точек.

Вдоль каждого столбца a вводятся (steps - 1) точек между каждым исходным значением; значения интерполируются линейно.

Параметры:
aмассив, форма (n, ...)
stepsint
Возвращаемые значения:
массив

форма ((n - 1) * steps + 1, ...)

matplotlib.cbook.strip_math(s)[source]

Удаление форматирования latex из mathtext.

Обрабатываются только полностью математические и полностью не математические строки.

END_OF_DOCUMENT_MARKER ```
matplotlib.cbook.to_filehandle(fname, flag='r', return_opened=False, encoding=None)[source]

Преобразовать путь к открытому файловому дескриптору или передать файлоподобный объект.

Рассмотрите использование open_file_cm вместо этого, так как оно позволяет легче правильно закрывать вновь созданные файловые объекты.

Параметры:
fnamestr или путь-подобный объект или файлоподобный объект

Если str или os.PathLike, файл открывается с флагами, заданными параметрами flag и encoding. Если файлоподобный объект, он передаётся без изменений.

flagстрока, по умолчанию: 'r'

Передаётся как аргумент mode в open, когда fname — str или os.PathLike; игнорируется, если fname — файлоподобный объект.

return_openedbool, по умолчанию: False

Если True, возвращает и файловый объект, и булево значение, указывающее, был ли это новый файл (который вызывающий код должен закрыть). Если False, возвращает только новый файл.

encodingстрока или None, по умолчанию: None

Передаётся как аргумент mode в open, когда fname — str или os.PathLike; игнорируется, если fname — файлоподобный объект.

Возвращает:
fhфайлоподобный объект
openedbool

opened возвращается только если return_opened равно True.

matplotlib.cbook.violin_stats(X, method, points=100, quantiles=None)[source]

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

См. раздел Returns ниже, чтобы увидеть необходимые ключи словаря.

Пользователи могут пропустить эту функцию и вместо неё передать настроенный набор словарей с теми же ключами в violinplot, вместо использования Matplotlib для расчётов. См. раздел Возвращает ниже, чтобы узнать ключи, которые должны присутствовать в словарях.

Параметры:
Xмассив-подобный объект

Данные выборки, которые будут использоваться для создания оценок плотности гауссовой ядра. Должны иметь 2 или меньше измерений.

methodвызываемый объект

Метод, используемый для вычисления оценки плотности ядра для каждого столбца данных. При вызове через method(v, coords), он должен вернуть вектор значений KDE, вычисленных в значениях, указанных в coords.

pointsцелое число, по умолчанию: 100

Определяет количество точек для оценки каждой из оценок плотности гауссова ядра.

quantilesмассив-подобный объект, по умолчанию: None

Определяет (если не None) список чисел с плавающей точкой в интервале [0, 1] для каждого столбца данных, представляющий квантили, которые будут отображаться для данного столбца данных. Должны иметь 2 или меньше измерений. 1D массив будет обрабатываться как одиночный список, содержащий их.

Возвращает:
список словарей

Список словарей, содержащих результаты для каждого столбца данных. Словари содержат, по крайней мере, следующее:

  • coords: Список скаляров, содержащих координаты, в которых была вычислена эта оценка плотности ядра.
  • vals: Список скаляров, содержащих значения оценки плотности ядра в каждой из координат, заданных в coords.
  • mean: Среднее значение для данного столбца данных.
  • median: Медианное значение для данного столбца данных.
  • min: Минимальное значение для данного столбца данных.
  • max: Максимальное значение для данного столбца данных.
  • quantiles: Значения квантилей для данного столбца данных.

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/cbook_api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API