Spec-Zone.ru › Matplotlib 3.6

matplotlib.cbook

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

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

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

Базы: 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]

Базы: 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, включая сам 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 в верхнюю часть стека и возвращает его.

Raises:
ValueError

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

clear()[source]

Очищает стек.

empty()[source]

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

forward()[source]

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

home()[source]

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

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

push(o)[source]

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

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

remove(o)[source]

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

Raises:
ValueError

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

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, необязательно

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

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., 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() равно True, и мы охватываем все такие области.

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 не возвращает массив Boolean.

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

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

matplotlib.cbook.file_requires_unicode(x)[source]

Возвращает, требует ли данный объект файла для записи 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=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.

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': '-'}

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

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.report_memory(i=0)[source]

[Устарело] Возвращает занимаемую процессом память.

Примечания

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

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 вместо этого, так как он позволяет проще закрывать недавно созданные объекты файлов.

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

Если 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.6.0/api/cbook_api.html

Spec-Zone.ru

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