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 из стека.
-
-
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 категорий:
- Одномерные замаскированные массивы
- Одномерные массивы NumPy
- Массивы NumPy с более чем одним измерением
- Другие итерируемые объекты, не являющиеся строками
- Любой другой тип
Первый аргумент должен быть в одной из первых четырёх категорий; любой аргумент с длиной, отличающейся от длины первого аргумента (и, следовательно, любой аргумент в категории 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] -
Возвращает значение, указывающее, является ли данный объект скалярной величиной или строкой.
-
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.
Порядок их разрешения:
- алиасы
- обязательные
- запрещённые
- разрешённые
Этот порядок означает, что только канонические имена должны быть в 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.
Это независимый от типа способ получения первого элемента, поддерживающий как доступ по индексу, так и протокол итератора.
-
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