Spec-Zone.ru › Matplotlib 3.2

matplotlib.cbook

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

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

class matplotlib.cbook.CallbackRegistry(exception_handler=<function _exception_printer>) [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

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

Параметры:
exception_handlercallable, optional

Если указано, должно иметь подпись

def handler(exc: Exception) -> None:

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

Вызываемый объект должен быть сериализуемым (pickle-able).

Обработчик по умолчанию

def h(exc):
    traceback.print_exc()
connect(self, s, func) [source]

Зарегистрировать func для вызова при генерации сигнала s.

disconnect(self, cid) [source]

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

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

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

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

class matplotlib.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)
>>> sorted(map(tuple, grp))
[(a, b, c), (d, e)]
>>> grp.joined(a, b)
True
>>> grp.joined(a, c)
True
>>> grp.joined(a, d)
False
clean(self) [source]

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

get_siblings(self, a) [source]

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

join(self, a, *args) [source]

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

joined(self, a, b) [source]

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

remove(self, a) [source]
exception matplotlib.cbook.IgnoredKeywordWarning [source]

Базы: UserWarning

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

class matplotlib.cbook.Stack(default=None) [source]

Базы: object

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

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

back(self) [source]

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

bubble(self, o) [source]

Поднять o наверх стека. o должен быть в стеке.

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

clear(self) [source]

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

empty(self) [source]

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

forward(self) [source]

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

home(self) [source]

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

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

push(self, o) [source]

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

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

remove(self, o) [source]

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

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

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

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

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

whisfloat or (float, float) (default = 1.5)

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

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

Если это пара чисел с плавающей точкой, они указывают на процентили, по которым должны быть нарисованы усы (например, (5, 95)). В частности, установка этого значения в (0, 100) приводит к усам, покрывающим весь диапазон данных. «range» — устаревшее синоним для (0, 100).

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

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

bootstrapint, optional

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

labelsarray-like, optional

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

autorangebool, optional (False)

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

Возвращает:
bxpstatslist of dict

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

Ключ Описание значения
label метка для диаграммы размаха
mean среднее арифметическое значение
med 50-й процентиль
q1 первый квартиль (25-й процентиль)
q3 третий квартиль (75-й процентиль)
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.dedent(s) [source]

[Устарело] Удаляет избыточное отступы из документации s.

Отбрасывает все ведущие пустые строки, затем удаляет до n символов пробела из каждой строки, где n — количество ведущих пробелов в первой строке. Отличается от textwrap.dedent в отбрасывании ведущих пустых строк и использовании первой непустой строки для определения отступа.

Также быстрее в большинстве случаев.

Примечания

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

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

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

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

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

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

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

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

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

matplotlib.cbook.file_requires_unicode(x) [source]

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

matplotlib.cbook.flatten(seq, scalarp=<function is_scalar_or_string at 0x7f6164eaa5e0>) [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_label(y, default_name) [source]

[Устарело]

Примечания

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

matplotlib.cbook.get_realpath_and_stat(path) [source]
matplotlib.cbook.get_sample_data(fname, asfileobj=True) [source]

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

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

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

matplotlib.cbook.index_of(y) [source]

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

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

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

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

Параметры:
yscalar or array-like
Возвращает:
x, yndarray

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

matplotlib.cbook.is_hashable(obj) [source]

[Устарело] Возвращает true, если obj может быть хэширован.

Примечания

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

matplotlib.cbook.is_math_text(s) [source]

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

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

matplotlib.cbook.is_scalar_or_string(val) [source]

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

END_OF_DOCUMENT_MARKER
matplotlib.cbook.is_writable_file_like(obj) [source]

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

matplotlib.cbook.iterable(obj) [source]

[Устарело] Возвращает True, если obj является итерируемым.

Примечания

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

matplotlib.cbook.local_over_kwdict(local_var, kwargs, *keys) [source]

Обеспечивает приоритет локальной переменной над потенциально конфликтующими аргументами из словаря kwargs. Рассматриваются следующие возможные значения вывода в порядке приоритета:

local_var > kwargs[keys[0]] > ... > kwargs[keys[-1]]

Будет возвращено первое из этих значений, отличное от None. Если все они равны None, будет возвращено None. Каждый ключ в keys будет удалён из словаря kwargs на месте.

Параметры:
local_varany object

Локальная переменная (наивысший приоритет).

kwargsdict

Словарь ключевых аргументов; изменяется на месте.

keysstr(s)

Имя(а) ключевых аргументов для обработки в порядке убывания приоритета.

Возвращает:
outany object

Либо local_var, либо одно из kwargs[key] для key в keys.

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

Для каждого ключа в keys, который удалён из kwargs, но не используется в качестве значения вывода.

class matplotlib.cbook.maxdict(maxsize) [source]

Базы: dict

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

Примечания

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

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

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

Порядок их разрешения:

  1. алиасы
  2. обязательные
  3. запрещённые
  4. разрешённые

Этот порядок означает, что только канонические имена должны быть в allowed, forbidden, required.

Параметры:
kwdict

Словарь ключевых аргументов.

alias_mappingdict or Artist subclass or Artist instance, optional

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

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

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

requiredlist of str, optional

Список ключей, которые должны быть в kws.

forbiddenlist of str, optional

Список ключей, которые не должны быть в kw.

allowedlist of str, optional

Список разрешённых полей. Если это не None, то возникает исключение, если kw содержит ключи, не входящие в объединение required и allowed. Для разрешения только необходимых полей передайте пустой кортеж allowed=().

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

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

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

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

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 точки, которые при линейном соединении дают ступенчатую функцию, изменяющую значения в середине интервалов.

Параметры:
xarray

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

y1, ..., yparray

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

Возвращает:
outarray

Значения 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 точки, которые при линейном соединении дают ступенчатую функцию, изменяющую значения в конце интервалов.

Параметры:
xarray

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

y1, ..., yparray

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

Возвращает:
outarray

Значения 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 точки, которые при линейном соединении дают ступенчатую функцию, изменяющую значения в начале интервалов.

Параметры:
xarray

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

y1, ..., yparray

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

Возвращает:
outarray

Значения 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]

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

matplotlib.cbook.safe_first_element(obj) [source]

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

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

END_OF_DOCUMENT_MARKER
matplotlib.cbook.safe_masked_invalid(x, copy=False) [source]
matplotlib.cbook.safezip(*args) [source]

[Устаревшее] Убедитесь, что длина элементов args совпадает перед их сжатием.

Примечания

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

matplotlib.cbook.sanitize_sequence(data) [source]

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

class matplotlib.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>
matplotlib.cbook.simple_linear_interpolation(a, steps) [source]

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

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

Параметры:
aarray, shape (n, ...)
stepsint
Возвращает:
массив

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

matplotlib.cbook.strip_math(s) [source]

Удаление форматирования LaTeX из математического текста.

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

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

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

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

Параметры:
fnamestr or path-like or file-like object

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

flagstr, default 'r'

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

return_openedbool, default False

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

encodingstr or None, default None

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

Возвращает:
fhfile-like
openedbool

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

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

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

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

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

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

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

methodcallable

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

pointsint, default = 100

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

quantilesarray-like, default = None

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

Возвращает:
vpstatslist of dict

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

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

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

Spec-Zone.ru

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