Spec-Zone.ru › Matplotlib 3.1

matplotlib.cbook

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

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

class matplotlib.cbook.Bunch(**kwargs) [source]

Базируется на types.SimpleNamespace

[Устаревшее] Часто нам нужно просто собрать несколько вещей вместе, присвоив имя каждому элементу. Словарь подойдёт, но небольшой класс без действий даже удобнее и красивее в использовании. Всякий раз, когда вам нужно сгруппировать несколько переменных:

>>> point = Bunch(datum=2, squared=4, coord=12)
>>> point.datum

Примечания

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

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_handler : callable, optional

Если предоставлено, должно иметь сигнатуру

def handler(exc: Exception) -> None:

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

Вызываемая функция должна быть сериализуемой.

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

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.GetRealpathAndStat(**kwargs) [source]

Базируется на object

[Устаревшее]

Примечания

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

class matplotlib.cbook.Grouper(init=()) [source]

Базируется на object

Этот класс предоставляет лёгкий способ группировать произвольные объекты в непересекающиеся наборы, когда полная структура данных графа будет избыточной.

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

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

Например:

>>> from matplotlib.cbook import Grouper
>>> class Foo(object):
...     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, включая сам 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.Locked(**kwargs) [source]

Базируется на object

[Устаревшее] Менеджер контекста для обработки блокировок.

Основано на коде из conda.

(c) 2012-2013 Continuum Analytics, Inc. / https://www.continuum.io/ Все права защищены

conda распространяется на условиях лицензии BSD с тремя пунктами. Обратитесь к LICENSE_CONDA или https://opensource.org/licenses/BSD-3-Clause.

Примечания

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

LOCKFN = '.matplotlib_lock'
exception TimeoutError [source]

Базируется на RuntimeError

END_OF_DOCUMENT_MARKER
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 из стека.

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

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

Параметры:
X : array-like

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

whis : float, string, or sequence (default = 1.5)

В виде числа, определяет дальность усов за первыми и третьими квартилями. Другими словами, если IQR — это межквартильный размах (Q3-Q1), верхний ус будет простираться до последнего значения, меньшего, чем Q3 + whis*IQR. Аналогично, нижний ус будет простираться до первого значения, большего, чем Q1 - whis*IQR. За пределами усов данные считаются выбросами и отображаются как отдельные точки. Это можно задать как возрастающую последовательность процентилей (например, [5, 95]), чтобы установить усы на определённых процентилях данных. Наконец, whis может быть строкой 'range', чтобы принудительно установить усы к минимуму и максимуму данных. В крайнем случае, если 25-й и 75-й процентили равны, whis может автоматически устанавливаться в 'range' с помощью опции autorange.

bootstrap : int, optional

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

labels : array-like, optional

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

autorange : bool, optional (False)

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

Возвращает:
bxpstats : list 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() равно True, и мы покрываем все такие области

matplotlib.cbook.dedent(s) [source]

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

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

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

Примечания

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

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

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

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

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

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

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

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

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

matplotlib.cbook.file_requires_unicode(x) [source]

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

matplotlib.cbook.flatten(seq, scalarp=<function is_scalar_or_string at 0x7f80965697b8>) [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, возвращается объект файла, в противном случае — только путь к файлу.

Установите параметр rc examples.directory в каталог, в котором следует искать, если файлы sample_data хранятся в другом месте, отличном от стандартного (который — 'mpl-data/sample_data` на том же уровне, что и файлы модуля Python 'matplotlib').

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

matplotlib.cbook.index_of(y) [source]

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

Пытается получить y.index (работает, если это pd.Series), если это не удаётся, возвращает np.arange(y.shape[0]).

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

Параметры:
y : scalar or array-like

Предлагаемое значение y

Возвращает:
x, y : ndarray

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

matplotlib.cbook.is_hashable(obj) [source]

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

Примечания

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

matplotlib.cbook.is_math_text(s) [source]
matplotlib.cbook.is_numlike(obj) [source]

[Устарело] Возвращает True, если obj выглядит как число

Примечания

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

matplotlib.cbook.is_scalar_or_string(val) [source]

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

matplotlib.cbook.is_writable_file_like(obj) [source]

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

matplotlib.cbook.iterable(obj) [source]

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

Примечания

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

matplotlib.cbook.listFiles(root, patterns='*', recurse=1, return_folders=0) [source]

[Устарело] Рекурсивно перечисляет файлы

из рецепта Пармара и Мартелли из "Python Cookbook"

Примечания

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

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

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

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

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

Параметры:
local_var : any object

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

kwargs : dict

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

keys : str(s)

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

Возвращает:
out : any object

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

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

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

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

Базовое: dict

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

matplotlib.cbook.mkdirs(newdir, mode=511) [source]

[Устарело] Рекурсивно создает каталог newdir и устанавливает mode. Эквивалентно

> mkdir -p NEWDIR
> chmod MODE NEWDIR

Примечания

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

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

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

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

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

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

Параметры:
alias_mapping, dict, optional

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

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

required : iterable, optional

Кортеж полей, которые должны быть в kwargs.

forbidden : iterable, optional

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

allowed : tuple, optional

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

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

Для соответствия тому, что поднимает python, если переданы недействительные args/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, чтобы найти циклы, которые препятствуют сборке мусора некоторых объектов.
outstream
Поток для вывода.
show_progress
Если True, выводить количество достигнутых объектов по мере их нахождения.
matplotlib.cbook.pts_to_midstep(x, *args) [source]

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

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

Параметры:
x : array

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

y1, ..., yp : array

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

Возвращает:
out : array

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

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

y1, ..., yp : array

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

Возвращает:
out : array

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

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

y1, ..., yp : array

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

Возвращает:
out : array

Значения 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]
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-объектов, чтобы предотвратить вывод длинного бессмысленного вывода. Предполагается использование для однородного списка заданного типа.

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

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

Параметры:
a : array, shape (n, ...)
steps : int
Возвращает:
array, shape ((n - 1) * steps + 1, ...)
Along each column of a, (steps - 1) points are introduced between
каждое из оригинальных значений; значения линейно интерполируются.
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 or PathLike or file-like object

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

flag : str, default 'r'

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

return_opened : bool, default False

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

encoding : str or None, default None

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

Возвращает:
fh : file-like
opened : bool

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

matplotlib.cbook.unicode_safe(s) [source]

[Устарело]

Примечания

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

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

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

Параметры:
X : array-like

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

method : callable

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

points : scalar, default = 100

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

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

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

Spec-Zone.ru

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