Spec-Zone.ru › Matplotlib

matplotlib.cbook

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

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 не будет его удерживать.

Parameters:
exception_handlercallable, optional

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

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

signalslist, optional

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

blocked(*, signal=None)[source]

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

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

Parameters:
signalstr, optional

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

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]

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

Примечания

Устарело начиная с версии 3.8: Используйте нечто другое. Вам больше не нужно очищать Grouper.

get_siblings(a)[source]

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

join(a, *args)[source]

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

joined(a, b)[source]

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

remove(a)[source]

Удалить a из группировщика, не делая ничего, если его там нет.

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

Bases: object

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

get_siblings(a)[source]
joined(a, b)[source]
classmatplotlib.cbook.Stack(default=None)[source]

Bases: object

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

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

Примечания

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

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

Позиция «усов».

Если число, то нижний ус находится в самой низкой точке данных, превышающей 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, необязательно

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

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

Метки для каждого набора данных. Длина должна соответствовать размерам 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., and 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() истинно, и мы охватываем все такие области.

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

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

Аргументы могут быть любого из 5 типов:

  1. Маскированные массивы 1-D
  2. Массивы 1-D ndarrays
  3. Массивы ndarrays с более чем одним измерением
  4. Другие итерируемые объекты, кроме строк
  5. любые другие

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

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

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

Ранее существенно более простая версия этой функции изначально была написана в качестве вспомогательной функции для 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]

Автор: Композиция Хольгера Крекеля и Лютера Блиссета Из: https://code.activestate.com/recipes/121294/ и рецепт 1.12 в кулинарной книге

matplotlib.cbook.get_sample_data(fname, asfileobj=True, *, np_load=<deprecated parameter>)[source]

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

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

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

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

Вспомогательная функция для создания разумных значений x для заданного y.

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

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

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

Параметры:
yfloat или array-like
Возвращает:
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': '-'}

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

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

Вспомогательная функция для нормализации входных данных kwarg.

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

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

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

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

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

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

Исключения:
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, ...)
stepsцелое число
Возвращаемое значение:
массив

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

matplotlib.cbook.strip_math(s)[source]

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

Обрабатываются только строки, полностью состоящие из математических формул и полностью несостоящие.

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

Преобразование пути в открытый дескриптор файла или прохождение через объект, похожий на файл.

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

Параметры:
fnameстрока или объект, похожий на путь, или объект, похожий на файл

Если 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.

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

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

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

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

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

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

methodcallable

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

pointsint, по умолчанию: 100

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

quantilesarray-like, по умолчанию: None

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

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

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

  • 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/stable/api/cbook_api.html

Spec-Zone.ru

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