Spec-Zone.ru › Matplotlib 2.2

mlab

matplotlib.mlab

Численные функции Python, написанные для совместимости с командами MATLAB с одинаковыми именами.

Функции, совместимые с MATLAB

cohere()
Когерентность (нормализованная кросс-спектральная плотность)
csd()
Плотность кросс-спектра, используя усреднённую периодограмму Велча
detrend()
Удаление среднего значения или прямой линии наилучшего приближения из массива
find()
Возвращение индексов, где выполняется некоторое условие; numpy.nonzero похож, но более общий.
griddata()
Интерполяция данных с нерегулярным распределением на регулярную сетку.
prctile()
Поиск процентилей последовательности
prepca()
Анализ главных компонент
psd()
Плотность спектральной мощности, используя усреднённую периодограмму Велча
rk4()
Интегратор Рунге-Кутты 4-го порядка для 1D или ND систем
specgram()
Спектрограмма (спектр по сегментам времени)

Дополнительные функции

Функции, отсутствующие в MATLAB, но полезные:

cohere_pairs()
Когерентность по всем парам. Это не функция MATLAB, но в моей лаборатории мы часто вычисляем когерентность, и мы вычисляем её для многих пар. Эта функция оптимизирована для эффективного вычисления путём кэширования прямых преобразований Фурье.
rk4()
Интегратор обыкновенных дифференциальных уравнений Рунге-Кутты 4-го порядка, если вы вдруг окажетесь без scipy (и гораздо более совершенных инструментов scipy.integrate)
contiguous_regions()
Возвращение индексов областей, охватываемых некоторой логической маской
cross_from_below()
Возвращение индексов, где одномерный массив пересекает порог снизу
cross_from_above()
Возвращение индексов, где одномерный массив пересекает порог сверху
complex_spectrum()
Возвращение комплекснозначного спектра частот сигнала
magnitude_spectrum()
Возвращение величины спектра частот сигнала
angle_spectrum()
Возвращение угла (упакованной фазы) спектра частот сигнала
phase_spectrum()
Возвращение фазы (неупакованного угла) спектра частот сигнала
detrend_mean()
Удаление среднего значения из линии.
demean()
Удаление среднего значения из линии. Эта функция аналогична detrend_mean() за исключением значения по умолчанию для axis.
detrend_linear()
Удаление линии наилучшего приближения из линии.
detrend_none()
Возвращение исходной линии.
stride_windows()
Получение всех окон в массиве с эффективным использованием памяти
stride_repeat()
Повторение массива с эффективным использованием памяти
apply_window()
Применение окна вдоль заданной оси

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

Набор вспомогательных методов для массивов numpy-записей

См. Разное
rec2txt()
Красивый вывод массива записей
rec2csv()
Сохранение массива записей в CSV-файл
csv2rec()
Импорт массива записей из CSV-файла с проверкой типа
rec_append_fields()
Добавление поля(ей)/массива(ов) к массиву записей
rec_drop_fields()
Удаление полей из массива записей
rec_join()
Объединение двух массивов записей по последовательности полей
recs_join()
Простое объединение нескольких массивов записей с использованием одного столбца в качестве ключа
rec_groupby()
Обобщение данных по группам (похоже на SQL GROUP BY)
rec_summarize()
Вспомогательный код для фильтрации полей массива записей в новые поля

Для функций просмотра массивов записей (например, rec2csv) существует множество объектов Format, которые можно передавать в функции, чтобы, например, окрашивать отрицательные значения в красный цвет, устанавливать форматирование процентов и масштабирование и т. д.

Пример использования:

r = csv2rec('somefile.csv', checkrows=0)

formatd = dict(
    weight = FormatFloat(2),
    change = FormatPercent(2),
    cost   = FormatThousands(2),
    )


rec2excel(r, 'test.xls', formatd=formatd)
rec2csv(r, 'test.csv', formatd=formatd)
scroll = rec2gtk(r, formatd=formatd)

win = gtk.Window()
win.set_size_request(600,800)
win.add(scroll)
win.show_all()
gtk.main()
class matplotlib.mlab.FormatBool(**kwargs) [source]

Bases: matplotlib.mlab.FormatObj

Устарело начиная с версии 2.2: Класс FormatBool был устаревшим в версии 2.2.

fromstr(s) [source]
toval(x) [source]
class matplotlib.mlab.FormatDate(**kwargs) [source]

Bases: matplotlib.mlab.FormatObj

Устарело начиная с версии 2.2: Класс FormatDate был устаревшим в версии 2.2. Используйте date.strftime вместо него.

fromstr(x) [source]
toval(x) [source]
class matplotlib.mlab.FormatDatetime(**kwargs) [source]

Bases: matplotlib.mlab.FormatDate

Устарело начиная с версии 2.2: Класс FormatDatetime был устаревшим в версии 2.2. Используйте datetime.strftime вместо него.

fromstr(x) [source]
END_OF_DOCUMENT_MARKER
class matplotlib.mlab.FormatFloat(**kwargs) [source]

Bases: matplotlib.mlab.FormatFormatStr

Устарело начиная с версии 2.2: Класс FormatFloat был устаревшим в версии 2.2.

fromstr(s) [source]
toval(x) [source]
class matplotlib.mlab.FormatFormatStr(**kwargs) [source]

Bases: matplotlib.mlab.FormatObj

Устарело начиная с версии 2.2: Класс FormatFormatStr был устаревшим в версии 2.2.

tostr(x) [source]
class matplotlib.mlab.FormatInt(**kwargs) [source]

Bases: matplotlib.mlab.FormatObj

Устарело начиная с версии 2.2: Класс FormatInt был устаревшим в версии 2.2.

fromstr(s) [source]
tostr(x) [source]
toval(x) [source]
class matplotlib.mlab.FormatMillions(**kwargs) [source]

Bases: matplotlib.mlab.FormatFloat

Устарело начиная с версии 2.2: Класс FormatMillions был устаревшим в версии 2.2.

class matplotlib.mlab.FormatObj(**kwargs) [source]

Bases: object

Устарело начиная с версии 2.2: Класс FormatObj был устаревшим в версии 2.2.

fromstr(s) [source]
tostr(x) [source]
toval(x) [source]
class matplotlib.mlab.FormatPercent(**kwargs) [source]

Bases: matplotlib.mlab.FormatFloat

Устарело начиная с версии 2.2: Класс FormatPercent был устаревшим в версии 2.2.

class matplotlib.mlab.FormatString(**kwargs) [source]

Bases: matplotlib.mlab.FormatObj

Устарело начиная с версии 2.2: Класс FormatString был устаревшим в версии 2.2.

tostr(x) [source]
class matplotlib.mlab.FormatThousands(**kwargs) [source]

Bases: matplotlib.mlab.FormatFloat

Устарело начиная с версии 2.2: Класс FormatThousands был устаревшим в версии 2.2.

class matplotlib.mlab.GaussianKDE(dataset, bw_method=None) [source]

Bases: object

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

Параметры:
dataset : array_like

Точки данных для оценки. В случае одномерных данных это одномерный массив, в противном случае двумерный массив с формой (# измерений, # данных).

bw_method : str, scalar or callable, optional

Метод, используемый для вычисления ширины полосы оценки. Это может быть 'scott', 'silverman', скалярная константа или вызываемая функция. Если скаляр, это будет использовано непосредственно как kde.factor. Если вызываемая функция, она должна принять экземпляр GaussianKDE в качестве единственного параметра и вернуть скаляр. Если None (по умолчанию), используется 'scott'.

Атрибуты:
dataset : ndarray

Набор данных, с которым gaussian_kde был инициализирован.

dim : int

Число измерений.

num_dp : int

Число точек данных.

factor : float

Коэффициент ширины полосы, полученный из kde.covariance_factor, с которым умножается ковариационная матрица.

covariance : ndarray

Ковариационная матрица dataset, масштабированная вычисленной шириной полосы (kde.factor).

inv_cov : ndarray

Обратная величина covariance.

Методы

kde.evaluate(points) (ndarray) Оценить оценённую плотность вероятности в заданном наборе точек.
kde(points) (ndarray) То же, что и kde.evaluate(points)
covariance_factor()
evaluate(points) [source]

Оценить оценённую плотность вероятности в наборе точек.

Параметры:
points : (# of dimensions, # of points)-array

В качестве альтернативы может быть передан вектор (# измерений,) и обработан как одиночная точка.

Возвращает:
values : (# of points,)-array

Значения в каждой точке.

Исключения:
ValueError : if the dimensionality of the input points is different

чем размерность KDE.

scotts_factor() [source]
silverman_factor() [source]
END_OF_DOCUMENT_MARKER
class matplotlib.mlab.PCA(**kwargs) [source]

Основы: object

Устарело начиная с версии 2.2: Класс PCA был устаревшим в версии 2.2.

center(x) [source]

Центрирует и (при необходимости) стандартизирует данные, используя среднее и сигму из обучающего набора a

project(x, minfrac=0.0) [source]

Проецирует x на главные оси, отбрасывая оси, где доля дисперсии <minfrac

matplotlib.mlab.amap(fn, *args) [source]

Устарело начиная с версии 2.2: Функция amap была устаревшим в версии 2.2. Используйте numpy.array(list(map(...))) вместо нее.

amap(function, sequence[, sequence, ...]) -> массив.

Действует как map(), но возвращает массив. Это просто удобное сокращение для numpy.array(map(...)).

matplotlib.mlab.angle_spectrum(x, Fs=None, window=None, pad_to=None, sides=None) [source]

Вычисление угла спектра частот (спектра фаз, завернутого на 360 градусов) x. Данные дополняются до длины pad_to, и к сигналу применяется функция оконного преобразования window.

Параметры:
x : 1-D array or sequence

Массив или последовательность, содержащая данные

Fs : scalar

Частота дискретизации (образцов в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах за единицу времени. Значение по умолчанию равно 2.

window : callable or ndarray

Функция или вектор длиной NFFT. Для создания векторов окон см. window_hanning(), window_none(), numpy.blackman(), numpy.hamming(), numpy.bartlett(), scipy.signal(), scipy.signal.get_window() и т. д. По умолчанию используется window_hanning(). Если в качестве аргумента передана функция, она должна принимать фрагмент данных в качестве аргумента и возвращать обработанный фрагмент с применением окна.

sides : [ 'default' | 'onesided' | 'twosided' ]

Определяет, какие части спектра возвращать. По умолчанию используется поведение по умолчанию, которое возвращает односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.

pad_to : integer

Количество точек, до которых дополняется фрагмент данных при выполнении преобразования Фурье. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), оно может обеспечить больше точек в графике, что позволит получить больше деталей. Это соответствует параметру n в вызове fft(). По умолчанию None, что устанавливает pad_to равным длине входного сигнала (т. е. без дополнения).

Возвращаемое значение:
spectrum : 1-D array

Значения для спектра угла в радианах (вещественные)

freqs : 1-D array

Частоты, соответствующие элементам в spectrum

См. также

complex_spectrum()
Эта функция возвращает значение угла complex_spectrum().
magnitude_spectrum()
angle_spectrum() возвращает величины соответствующих частот.
phase_spectrum()
phase_spectrum() возвращает развёрнутую версию этой функции.
specgram()
specgram() может вернуть спектр угла сегментов внутри сигнала.
matplotlib.mlab.apply_window(x, window, axis=0, return_window=None) [source]

Применение заданного окна к заданному одномерному или двумерному массиву вдоль заданной оси.

Параметры:
x : 1D or 2D array or sequence

Массив или последовательность, содержащая данные.

window : function or array.

Либо функция для генерации окна, либо массив длиной x.shape[axis]

axis : integer

Ось, по которой выполняется повторение. Должна быть 0 или 1. По умолчанию 0

return_window : bool

Если True, также возвращает одномерные значения окна, которое было применено

matplotlib.mlab.base_repr(number, base=2, padding=0) [source]

Устарело начиная с версии 2.2: Функция base_repr была устаревшим в версии 2.2.

Возвращает представление числа в заданной системе счисления.

matplotlib.mlab.binary_repr(number, max_length=1025) [source]

Устарело начиная с версии 2.2: Функция binary_repr была устаревшим в версии 2.2.

Возвращает двоичное представление входного числа в виде строки.

Это более эффективно, чем использование base_repr() с основанием 2.

Увеличьте значение max_length для очень больших чисел. Обратите внимание, что на 32-битных машинах 2**1023 — это наибольшее целое число в степени 2, которое может быть преобразовано в число с плавающей точкой Python.

matplotlib.mlab.bivariate_normal(X, Y, sigmax=1.0, sigmay=1.0, mux=0.0, muy=0.0, sigmaxy=0.0) [source]

Устарело начиная с версии 2.2: Функция bivariate_normal была устаревшим в версии 2.2.

Двумерное гауссово распределение для массивов X и Y одинаковой формы.

См. двумерное нормальное распределение на mathworld.

matplotlib.mlab.center_matrix(M, dim=0) [source]

Устарело начиная с версии 2.2: Функция center_matrix была устаревшим в версии 2.2.

Возвращает матрицу M, где каждая строка имеет нулевое среднее и единичную стандартную ошибку.

Если dim = 1, операции выполняются над столбцами вместо строк. (dim противоположен numpy axis kwarg.)

matplotlib.mlab.cohere(x, y, NFFT=256, Fs=2, detrend=<function detrend_none>, window=<function window_hanning>, noverlap=0, pad_to=None, sides='default', scale_by_freq=None) [source]

Когерентность между x и y. Когерентность — это нормированная кросс-спектральная плотность:

Параметры:
x, y

Массив или последовательность, содержащая данные

Fs : scalar

Частота дискретизации (образцы в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах в единицу времени. Значение по умолчанию — 2.

window : callable or ndarray

Функция или вектор длиной NFFT. Для создания векторов окон см. window_hanning(), window_none(), numpy.blackman(), numpy.hamming(), numpy.bartlett(), scipy.signal(), scipy.signal.get_window() и т. д. Значение по умолчанию — window_hanning(). Если в качестве аргумента передана функция, она должна принять сегмент данных в качестве аргумента и вернуть оконную версию сегмента.

sides : [ 'default' | 'onesided' | 'twosided' ]

Указывает, какие стороны спектра возвращать. Значение по умолчанию обеспечивает стандартное поведение, которое возвращает односторонний спектр для вещественных данных и двусторонний для комплексных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.

pad_to : integer

Количество точек, до которых дополняется сегмент данных при выполнении FFT. Это может отличаться от NFFT, которое определяет количество точек данных. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может обеспечить больше точек на графике, позволяя получить больше деталей. Это соответствует параметру n в вызове fft(). Значение по умолчанию — None, что устанавливает pad_to равным NFFT

NFFT : integer

Количество точек данных, используемых в каждом блоке для FFT. Степень двойки наиболее эффективна. Значение по умолчанию — 256. Это НЕ следует использовать для получения нулевого заполнения, иначе масштабирование результата будет неверным. Используйте pad_to для этого вместо этого.

detrend : {'default', 'constant', 'mean', 'linear', 'none'} or callable

Функция, применяемая к каждому сегменту перед fft, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в matplotlib он является функцией. Модуль pylab определяет detrend_none(), detrend_mean(), и detrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций. 'default', 'constant', и 'mean' вызывают detrend_mean(). 'linear' вызывает detrend_linear(). 'none' вызывает detrend_none().

scale_by_freq : boolean, optional

Указывает, следует ли масштабировать значения плотности результата на частоту масштабирования, что дает плотность в единицах Hz^-1. Это позволяет интегрировать по возвращаемым значениям частоты. Значение по умолчанию — True для совместимости с MATLAB.

noverlap : integer

Количество перекрывающихся точек между блоками. Значение по умолчанию — 0 (нет перекрытия).

Возвращает:
Возвращаемое значение — кортеж (*Cxy*, *f*), где *f* — частоты вектора когерентности. Для cohere, масштабирование индивидуальных плотностей частотой дискретизации не влияет,
так как множители взаимно сокращаются.

См. также

psd(), csd()

matplotlib.mlab.cohere_pairs(X, ij, NFFT=256, Fs=2, detrend=<function detrend_none>, window=<function window_hanning>, noverlap=0, preferSpeedOverMemory=True, progressCallback=<function donothing_callback>, returnPxx=False) [source]

Устарело начиная с версии 2.2: scipy.signal.coherence

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

X — массив numSamples * numCols

ij — список кортежей. Каждый кортеж — пара индексов в столбцах X, для которых требуется вычислить когерентность. Например, если X имеет 64 столбца, и вы хотите вычислить все нередундантные пары, определите ij как:

ij = []
for i in range(64):
    for j in range(i+1,64):
        ij.append( (i,j) )

preferSpeedOverMemory — необязательный bool. По умолчанию — True. Если False, ограничивает кэширование, создавая только один, а не два, комплексных массива кэша. Это полезно, если память становится критической. Даже когда preferSpeedOverMemory — False, cohere_pairs() все равно обеспечивает значительные преимущества производительности по сравнению с вызовом cohere() для каждой пары и использует значительно меньше памяти, чем если preferSpeedOverMemory — True. В моих тестах с массивом 43000,64 по всем нередундантным парам, preferSpeedOverMemory = True обеспечил увеличение производительности на 33% на процессоре Athlon 1.7 ГГц с 512 МБ ОЗУ по сравнению с preferSpeedOverMemory = False. Но оба решения были более чем в 10 раз быстрее, чем при неэффективном вычислении всех возможных пар через cohere().

Возвращает:
Cxy : dictionary of (i, j) tuples -> coherence vector for

для данной пары. т. е., Cxy[(i,j) = cohere(X[:,i], X[:,j]). Количество ключей словаря — len(ij).

Phase : dictionary of phases of the cross spectral density at

вектора когерентности или фазы для каждой частоты для каждой пары. Ключи — (i, j).

freqs : vector of frequencies, equal in length to either the

векторы когерентности или фазы для любой пары (i, j).

Например, чтобы создать график когерентности Bode::

subplot(211) plot( freqs, Cxy[(12,19)]) subplot(212) plot( freqs, Phase[(12,19)])

Для большого количества пар функция :func:`cohere_pairs` может быть намного
эффективнее, чем просто вызов :func:`cohere` для каждой пары, потому что
она кэширует большинство интенсивных вычислений. Если :math:`N` —
число пар, эта функция имеет сложность :math:`O(N)` для большей части
тяжёлых вычислений, тогда как вызов :func:`cohere` для каждой пары
имеет сложность :math:`O(N^2)`. Однако, из-за кэширования она также
требует больше памяти, создавая 2 дополнительных комплексных массива
примерно с таким же количеством элементов, как и *X*.
См. :file:`test/cohere_pairs_test.py` в дереве src для примера скрипта,
который показывает, что эта :func:`cohere_pairs` и :func:`cohere`
дают одинаковые результаты для заданной пары.

См. также

psd()
Для получения информации о методах вычисления , и .
END_OF_DOCUMENT_MARKER
matplotlib.mlab.complex_spectrum(x, Fs=None, window=None, pad_to=None, sides=None) [source]

Вычислить комплекснозначный спектр частоты x. Данные дополняются до длины pad_to, и к сигналу применяется функция оконного преобразования window.

Параметры:
x : 1-D array or sequence

Массив или последовательность, содержащая данные

Fs : scalar

Частота дискретизации (образцы в единицу времени). Используется для расчета частот Фурье, freqs, в циклах за единицу времени. Значение по умолчанию равно 2.

window : callable or ndarray

Функция или вектор длины NFFT. Для создания векторов окон см. window_hanning(), window_none(), numpy.blackman(), numpy.hamming(), numpy.bartlett(), scipy.signal(), scipy.signal.get_window() и т. д. Значение по умолчанию — window_hanning(). Если в качестве аргумента передается функция, она должна принимать сегмент данных и возвращать оконную версию сегмента.

sides : [ 'default' | 'onesided' | 'twosided' ]

Указывает, какие стороны спектра возвращать. Значение по умолчанию обеспечивает стандартное поведение, возвращая односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, 'twosided' - двусторонний.

pad_to : integer

Число точек, до которых дополняется сегмент данных при выполнении БПФ. Не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), но может добавить больше точек в график, что позволит получить больше деталей. Соответствует параметру n в вызове fft(). Значение по умолчанию равно None, что устанавливает pad_to равным длине входного сигнала (т.е. без дополнения).

Возвращает:
spectrum : 1-D array

Значения комплексного спектра (комплекснозначные)

freqs : 1-D array

Частоты, соответствующие элементам в spectrum

См. также

magnitude_spectrum()
magnitude_spectrum() возвращает абсолютное значение этой функции.
angle_spectrum()
angle_spectrum() возвращает угол этой функции.
phase_spectrum()
phase_spectrum() возвращает фазу (неупакованный угол) этой функции.
specgram()
specgram() может возвращать комплексный спектр сегментов в пределах сигнала.
matplotlib.mlab.contiguous_regions(mask) [source]

Устарело начиная с версии 2.2: Перемещено в matplotlib.cbook

Возвращает список (ind0, ind1), такой что mask[ind0:ind1].all() равно True, и мы охватываем все такие области

matplotlib.mlab.cross_from_above(x, threshold) [source]

Устарело начиная с версии 2.2: Функция cross_from_above была устарела в версии 2.2.

Возвращает индексы в x, где x пересекает некоторый порог сверху, например, i, где:

x[i-1]>threshold and x[i]<=threshold

См. также

cross_from_below()

matplotlib.mlab.cross_from_below(x, threshold) [source]

Устарело начиная с версии 2.2: Функция cross_from_below была устарела в версии 2.2.

Возвращает индексы в x, где x пересекает некоторый порог снизу, например, i, где:

x[i-1]<threshold and x[i]>=threshold

Пример кода:

import matplotlib.pyplot as plt

t = np.arange(0.0, 2.0, 0.1)
s = np.sin(2*np.pi*t)

fig, ax = plt.subplots()
ax.plot(t, s, '-o')
ax.axhline(0.5)
ax.axhline(-0.5)

ind = cross_from_below(s, 0.5)
ax.vlines(t[ind], -1, 1)

ind = cross_from_above(s, -0.5)
ax.vlines(t[ind], -1, 1)

plt.show()

См. также

cross_from_above()

matplotlib.mlab.csd(x, y, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None) [source]

Вычислить взаимную спектральную плотность.

Вызов функции:

csd(x, y, NFFT=256, Fs=2, detrend=mlab.detrend_none,
    window=mlab.window_hanning, noverlap=0, pad_to=None,
    sides='default', scale_by_freq=None)

Взаимная спектральная плотность методом усреднённой периодограммы Уэлча. Векторы x и y разделяются на сегменты длиной NFFT. Каждый сегмент обрабатывается функцией detrend и окончивается функцией window. noverlap задаёт длину перекрытия между сегментами. Произведение прямых преобразований Фурье x и y усредняется по каждому сегменту для вычисления , с масштабированием для компенсации потери мощности из-за окон.

Если len(x) < NFFT или len(y) < NFFT, они будут дополнены нулями до NFFT.

Параметры:
x, y : 1-D arrays or sequences

Массивы или последовательности, содержащие данные

Fs : scalar

Частота дискретизации (образцов в единицу времени). Она используется для расчёта частот Фурье, freqs, в циклах за единицу времени. Значение по умолчанию равно 2.

window : callable or ndarray

Функция или вектор длиной NFFT. Для создания векторов окон см. window_hanning(), window_none(), numpy.blackman(), numpy.hamming(), numpy.bartlett(), scipy.signal(), scipy.signal.get_window() и др. По умолчанию используется window_hanning(). Если в качестве аргумента передаётся функция, она должна принимать сегмент данных и возвращать оконченную версию сегмента.

sides : [ 'default' | 'onesided' | 'twosided' ]

Указывает, какие стороны спектра возвращать. По умолчанию возвращается односторонняя для вещественных данных и двусторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.

pad_to : integer

Количество точек, до которого дополняется сегмент данных нулями при выполнении БПФ. Это может отличаться от NFFT, который задаёт количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может дать больше точек на графике, позволяя получить больше деталей. Это соответствует параметру n в вызове fft(). По умолчанию равно None, что устанавливает pad_to равным NFFT

NFFT : integer

Количество точек данных, используемых в каждом блоке для БПФ. Мощность 2 наиболее эффективна. Значение по умолчанию равно 256. Не следует использовать для получения нулевого заполнения, в противном случае масштабирование результата будет неверным. Для этого используйте pad_to.

detrend : {'default', 'constant', 'mean', 'linear', 'none'} or callable

Функция, применяемая к каждому сегменту перед вычислением БПФ, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в matplotlib он является функцией. Модуль pylab определяет detrend_none(), detrend_mean(), и detrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций. 'default', 'constant', и 'mean' вызывают detrend_mean(). 'linear' вызывает detrend_linear(). 'none' вызывает detrend_none().

scale_by_freq : boolean, optional

Указывает, следует ли масштабировать полученные значения плотности на частоту масштабирования, что даёт плотность в единицах Гц^-1. Это позволяет интегрировать по возвращаемым значениям частоты. По умолчанию True для совместимости с MATLAB.

noverlap : integer

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

Возвращает:
Pxy : 1-D array

Значения взаимного спектра P_{xy} до масштабирования (вещественные значения)

freqs : 1-D array

Частоты, соответствующие элементам в Pxy

См. также

psd()
psd() эквивалентно установлению y=x.

Ссылки

Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)

matplotlib.mlab.csv2rec(fname, comments='#', skiprows=0, checkrows=0, delimiter=', ', converterd=None, names=None, missing='', missingd=None, use_mrecords=False, dayfirst=False, yearfirst=False) [source]

Устарело начиная с версии 2.2: Функция csv2rec устарела в версии 2.2.

Загрузка данных из файла с запятой/пробелом/табуляцией fname в массив numpy с записями и возвращение массива с записями.

Если names равно None, требуется строка заголовка для автоматического назначения имён recarray. Заголовки будут преобразованы в нижний регистр, пробелы будут заменены на нижние подчёркивания, а недопустимые символы имени атрибута будут удалены. Если names не равно None, это последовательность имён, используемых для имён столбцов. В этом случае предполагается, что строки заголовка нет.

  • fname: может быть именем файла или дескриптором файла. Поддержка сжатых файлов gzip автоматическая, если имя файла заканчивается на '.gz'
  • comments: символ, используемый для обозначения начала комментария в файле, или None для отключения удаления комментариев
  • skiprows: количество строк сверху, которые следует пропустить
  • checkrows: количество строк для проверки для валидации типа данных столбца. При установке в ноль все строки проверяются.
  • converterd: если не равно None, это словарь, сопоставляющий номер столбца или сконструированное имя столбца с функцией преобразования.
  • names: если не равно None, это список имён заголовков. В этом случае заголовок из файла не будет читаться
  • missingd это словарь, сопоставляющий сконструированные имена столбцов со значениями полей, которые указывают на то, что поле не содержит фактических данных и должно быть замаскировано, например, '0000-00-00' или 'unused'
  • missing: строка, значение которой сигнализирует об отсутствующем поле независимо от столбца, в котором оно появляется
  • use_mrecords: если True, возвращает массив записей mrecords.fromrecords, если какие-либо данные отсутствуют
  • dayfirst: по умолчанию False, поэтому MM-DD-YY имеет приоритет над DD-MM-YY. См. http://labix.org/python-dateutil#head-b95ce2094d189a89f80f5ae52a05b4ab7b41af47 для получения дополнительной информации.
  • yearfirst: по умолчанию False, поэтому MM-DD-YY имеет приоритет над YY-MM-DD. См. http://labix.org/python-dateutil#head-b95ce2094d189a89f80f5ae52a05b4ab7b41af47 для получения дополнительной информации.

    Если строк нет, возвращается None

matplotlib.mlab.csvformat_factory(format) [source]

Устарело начиная с версии 2.2: Функция csvformat_factory устарела в версии 2.2.

matplotlib.mlab.demean(x, axis=0) [source]

Возвращает x минус его среднее значение по указанной оси.

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

Массив или последовательность, содержащая данные. Может иметь любую размерность

axis : integer

Ось, по которой вычисляется среднее значение. См. numpy.mean для описания этого аргумента.

См. также

delinear()

denone()
delinear() и denone() — другие алгоритмы удаления тренда.
detrend_mean()
Эта функция такая же, как detrend_mean(), за исключением значения по умолчанию axis.
matplotlib.mlab.detrend(x, key=None, axis=None) [source]

Возвращает x с удалённой тенденцией.

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

Массив или последовательность, содержащая данные.

key : [ 'default' | 'constant' | 'mean' | 'linear' | 'none'] or function

Указывает алгоритм удаления тренда. 'default' — 'mean', что то же, что detrend_mean(). 'constant' — тоже самое. 'linear' — тоже самое, что detrend_linear(). 'none' — тоже самое, что detrend_none(). По умолчанию 'mean'. Подробности об алгоритмах см. в соответствующих функциях. Также может быть функцией, которая выполняет операцию удаления тренда.

axis : integer

Ось, вдоль которой выполняется удаление тренда.

См. также

detrend_mean()
detrend_mean() реализует алгоритм 'mean'.
detrend_linear()
detrend_linear() реализует алгоритм 'linear'.
detrend_none()
detrend_none() реализует алгоритм 'none'.
matplotlib.mlab.detrend_linear(y) [source]

Возвращает x минус лучшую линию подгонки; 'linear' удаление тренда.

Параметры:
y : 0-D or 1-D array or sequence

Массив или последовательность, содержащая данные

axis : integer

Ось, по которой нужно брать среднее. См. numpy.mean для описания этого аргумента.

См. также

delinear()
Эта функция идентична delinear() за исключением значения по умолчанию для axis.

detrend_mean()

detrend_none()
detrend_mean() и detrend_none() — другие алгоритмы удаления тренда.
detrend()
detrend() — оболочка для всех алгоритмов удаления тренда.
matplotlib.mlab.detrend_mean(x, axis=None) [source]

Возвращает x минус среднее значение(x).

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

Массив или последовательность, содержащая данные. Может иметь любую размерность

axis : integer

Ось, по которой нужно вычислить среднее. См. numpy.mean для описания этого аргумента.

См. также

demean()
Эта функция идентична demean(), за исключением значения по умолчанию для axis.

detrend_linear()

detrend_none()
detrend_linear() и detrend_none() — другие алгоритмы удаления тренда.
detrend()
detrend() — оболочка для всех алгоритмов удаления тренда.
matplotlib.mlab.detrend_none(x, axis=None) [source]

Возвращает x: без удаления тренда.

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

Объект, содержащий данные

axis : integer

Этот параметр игнорируется. Он включён для совместимости с detrend_mean

См. также

denone()
Эта функция идентична denone() за исключением значения по умолчанию для axis, которое не имеет эффекта.

detrend_mean()

detrend_linear()
detrend_mean() и detrend_linear() — другие алгоритмы удаления тренда.
detrend()
detrend() — оболочка для всех алгоритмов удаления тренда.
matplotlib.mlab.dist(x, y) [source]

Устарело начиная с версии 2.2: numpy.hypot

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

matplotlib.mlab.dist_point_to_segment(p, s0, s1) [source]

Устарело начиная с версии 2.2: Функция dist_point_to_segment устарела в версии 2.2.

Получить расстояние от точки до отрезка.

p, s0, s1 — последовательности xy

Этот алгоритм из http://geomalgorithms.com/a02-_lines.html

matplotlib.mlab.distances_along_curve(X) [source]

Устарело начиная с версии 2.2: Функция distances_along_curve устарела в версии 2.2.

Вычисляет расстояние между набором последовательных точек в N измерениях.

Где X — массив или матрица M x N. Вычисляются расстояния между последовательными строками. Расстояние — стандартное евклидово расстояние.

matplotlib.mlab.donothing_callback(*args) [source]

Устарело начиная с версии 2.2: Функция donothing_callback устарела в версии 2.2.

matplotlib.mlab.entropy(y, bins) [source]

Устаревшее с версии 2.2: scipy.stats.entropy

Возвращает энтропию данных в y в единицах ната.

где — вероятность наблюдения y в бине bins. bins может быть числом бинов или диапазоном бинов; см. numpy.histogram().

Сравните S с аналитическим вычислением для гауссиана:

x = mu + sigma * randn(200000)
Sanalytic = 0.5 * ( 1.0 + log(2*pi*sigma**2.0) )
matplotlib.mlab.exp_safe(x) [source]

Устаревшее с версии 2.2: numpy.exp

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

Медленно, но удобно использовать. Обратите внимание, что numpy обеспечивает надлежащую обработку исключений с плавающей точкой с доступом к базовому оборудованию.

matplotlib.mlab.fftsurr(x, detrend=<function detrend_none>, window=<function window_none>) [source]

Устаревшее с версии 2.2: Функция fftsurr устарела в версии 2.2.

Вычислите суррогат с случайной фазой FFT от x.

matplotlib.mlab.find(condition) [source]

Устаревшее с версии 2.2: Функция find устарела в версии 2.2.

Возвращает индексы, где ravel(condition) истинно.

matplotlib.mlab.frange(xini, xfin=None, delta=None, **kw) [source]

Устаревшее с версии 2.2: numpy.arange

frange([start,] stop[, step, keywords]) -> массив с плавающей точкой

Возвращает массив NumPy, содержащий прогрессию чисел с плавающей точкой. Аналогично numpy.arange(), но по умолчанию интервал закрыт.

frange(x0, x1) возвращает [x0, x0+1, x0+2, ..., x1]; start по умолчанию равен 0, а конечная точка включена. Это поведение отличается от поведения range() и numpy.arange(). Это сделано намеренно, так как frange() , вероятно, будет более полезен для генерации списков точек для вычисления функций, и конечные точки часто требуются в этом использовании. Обычное поведение range() можно получить, установив ключевое слово closed = 0, в этом случае frange() фактически становится :func:numpy.arange`.

Если step задан, он задает шаг (или уменьшение). Все аргументы могут быть числами с плавающей точкой.

frange(x0,x1,d) возвращает [x0,x0+d,x0+2d,...,xfin] где xfin <= x1.

frange() также можно вызвать с ключевым словом npts. Это задает количество точек, которые должен содержать список (и переопределяет значение step, которое могло быть задано). numpy.arange() не предлагает этого варианта.

Примеры:

>>> frange(3)
array([ 0.,  1.,  2.,  3.])
>>> frange(3,closed=0)
array([ 0.,  1.,  2.])
>>> frange(1,6,2)
array([1, 3, 5])   or 1,3,5,7, depending on floating point vagueries
>>> frange(1,6.5,npts=5)
array([ 1.   ,  2.375,  3.75 ,  5.125,  6.5  ])
matplotlib.mlab.get_formatd(r, formatd=None) [source]

Устаревшее с версии 2.2: Функция get_formatd устарела в версии 2.2.

создает форматd, гарантирующий наличие ключа для каждого имени типа данных

matplotlib.mlab.get_sparse_matrix(M, N, frac=0.1) [source]

Устаревшее с версии 2.2: Функция get_sparse_matrix устарела в версии 2.2.

Возвращает разреженную матрицу M x N с frac элементов, заполненных случайным образом.

matplotlib.mlab.get_xyz_where(Z, Cond) [source]

Устаревшее с версии 2.2: Функция get_xyz_where устарела в версии 2.2.

Z и Cond — матрицы M x N. Z — данные, а Cond — булева матрица, где выполняется некоторое условие. Возвращаемое значение — (x, y, z), где x и y — индексы в Z, а z — значения Z в этих индексах. x, y и z — одномерные массивы.

matplotlib.mlab.griddata(x, y, z, xi, yi, interp='nn') [source]

Устаревшее с версии 2.2: Функция griddata устарела в версии 2.2. Используйте scipy.interpolate.griddata вместо нее.

Интерполирует данные с неравномерно распределённой сетки на другую сетку.

Подогнанная поверхность вида z = f(x, x) к данным в (обычно) неравномерно распределённых векторах (x, y, z) и затем интерполирует эту поверхность в точках, заданных (xi, yi) для получения zi.

Параметры:
x, y, z : 1d array_like

Координаты точек сетки для интерполяции.

xi, yi : 1d or 2d array_like

Координаты точек сетки для интерполяции.

interp : string key from {'nn', 'linear'}

Алгоритм интерполяции, либо 'nn' для интерполяции ближайшего соседа, либо 'linear' для линейной интерполяции.

Возвращает:
2d массив с плавающей точкой

Массив значений, интерполированных в точках (xi, yi). Массив будет замаскирован, если какие-либо из (xi, yi ) находятся вне выпуклой оболочки (x, y).

Примечания

Если interp равно 'nn' (по умолчанию), использует интерполяцию ближайшего соседа, основанную на триангуляции Делоне. Этот вариант доступен только при установке модуля mpl_toolkits.natgrid. Его можно загрузить с https://github.com/matplotlib/natgrid. Сетка (xi, yi ) должна быть регулярной и монотонно возрастающей в этом случае.

Если interp равно 'linear', используется линейная интерполяция через matplotlib.tri.LinearTriInterpolator.

Вместо использования griddata доступны более гибкие функции и другие варианты интерполяции с использованием matplotlib.tri.Triangulation и matplotlib.tri.TriInterpolator.

matplotlib.mlab.identity(n, rank=2, dtype='l', typecode=None) [source]

Устаревшее с версии 2.2: numpy.identity

Возвращает единичную матрицу формы (n, n, ..., n) (ранг r).

Для рангов выше 2 этот объект представляет собой просто многоиндексное произведение Кронекера:

                    /  1  if i0=i1=...=iR,
id[i0,i1,...,iR] = -|
                    \  0  otherwise.

Необязательно можно указать dtype (или тип кода) (по умолчанию 'l').

Так как ранг по умолчанию равен 2, эта функция ведет себя в случае по умолчанию (когда задан только n) как numpy.identity(n) — но, удивительно, намного быстрее.

matplotlib.mlab.inside_poly(points, verts) [source]

Устаревшее с версии 2.2: Функция inside_poly устарела в версии 2.2.

points — последовательность точек x, y. verts — последовательность вершин многоугольника x, y.

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

matplotlib.mlab.is_closed_polygon(X) [source]

Устаревшее с версии 2.2: Функция is_closed_polygon устарела в версии 2.2.

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

END_OF_DOCUMENT_MARKER
matplotlib.mlab.ispower2(n) [source]

Устарело начиная с версии 2.2: Функция ispower2 устарела в версии 2.2.

Возвращает логарифм по основанию 2 от n, если n является степенью двойки, в противном случае возвращает ноль.

Обратите внимание на потенциальную неоднозначность, если n == 1: 2**0 == 1, интерпретируйте соответственно.

matplotlib.mlab.isvector(X) [source]

Устарело начиная с версии 2.2: Функция isvector устарела в версии 2.2.

Аналогично функции MATLAB с таким же именем, возвращает True, если предоставленный массив или матрица NumPy X выглядит как вектор, то есть имеет один не-единичный ось (т.е., может иметь несколько осей, но все они должны иметь длину 1, за исключением одной из них).

Если вам нужно просто проверить, имеет ли массив 1 ось, используйте X.ndim == 1.

matplotlib.mlab.l1norm(a) [source]

Устарело начиная с версии 2.2: Функция l1norm устарела в версии 2.2. Используйте numpy.linalg.norm(a, ord=1) вместо неё.

Возвращает норму l1 от a, сглаженную.

Реализована как отдельная функция (а не вызов norm(), для повышения скорости).

matplotlib.mlab.l2norm(a) [source]

Устарело начиная с версии 2.2: Функция l2norm устарела в версии 2.2. Используйте numpy.linalg.norm(a, ord=2) вместо неё.

Возвращает норму l2 от a, сглаженную.

Реализована как отдельная функция (а не вызов norm(), для повышения скорости).

matplotlib.mlab.less_simple_linear_interpolation(x, y, xi, extrap=False) [source]

Устарело начиная с версии 2.2: Функция less_simple_linear_interpolation устарела в версии 2.2. Используйте numpy.interp вместо неё.

Данная функция предоставляет простую (но несколько менее простую, чем cbook.simple_linear_interpolation()) линейную интерполяцию. simple_linear_interpolation() создаст список точек между началом и концом, в то время как эта функция выполняет истинную линейную интерполяцию в произвольной точке.

Эта функция – очень неэффективная линейная интерполяция, предназначенная для использования только с небольшим количеством точек в относительно несложных случаях. Для реальной линейной интерполяции используйте scipy.

matplotlib.mlab.log2(x, ln2=0.6931471805599453) [source]

Устарело начиная с версии 2.2: numpy.log2

Возвращает логарифм по основанию 2 от x.

Эта функция – _медленная_, но гарантирует возврат правильного целого значения, если входное значение является целым числом, точной степенью двойки.

matplotlib.mlab.logspace(xmin, xmax, N) [source]

Устарело начиная с версии 2.2: Функция logspace устарела в версии 2.2. Используйте numpy.logspace или numpy.geomspace вместо неё.

Возвращает N значений, логарифмически распределённых между xmin и xmax.

matplotlib.mlab.longest_contiguous_ones(x) [source]

Устарело начиная с версии 2.2: Функция longest_contiguous_ones устарела в версии 2.2.

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

matplotlib.mlab.longest_ones(x) [source]

Устарело начиная с версии 2.2: Функция longest_ones устарела в версии 2.2.

Псевдоним для longest_contiguous_ones

matplotlib.mlab.magnitude_spectrum(x, Fs=None, window=None, pad_to=None, sides=None) [source]

Вычисляет величину (абсолютное значение) частотного спектра x. Данные заполняются до длины pad_to, и к сигналу применяется функция оконного фильтра window.

Параметры:
x : 1-D array or sequence

Массив или последовательность, содержащая данные

Fs : scalar

Частота дискретизации (образцов в единицу времени). Она используется для вычисления частот Фурье, freqs, в циклах в единицу времени. Значение по умолчанию равно 2.

window : callable or ndarray

Функция или вектор длины NFFT. Для создания векторов окон смотрите window_hanning(), window_none(), numpy.blackman(), numpy.hamming(), numpy.bartlett(), scipy.signal(), scipy.signal.get_window() и т.д. По умолчанию используется window_hanning(). Если в качестве аргумента передается функция, она должна принимать сегмент данных и возвращать оконную версию сегмента.

sides : [ 'default' | 'onesided' | 'twosided' ]

Определяет, какие стороны спектра возвращать. По умолчанию – поведение по умолчанию, которое возвращает односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, 'twosided' – двусторонний.

pad_to : integer

Количество точек, до которых заполняется сегмент данных при выполнении FFT. Не повышает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), но может увеличить количество точек в графике, что позволит получить больше деталей. Соответствует параметру n в вызове fft(). Значение по умолчанию – None, что устанавливает pad_to равным длине входного сигнала (т.е. без заполнения).

Возвращает:
spectrum : 1-D array

Значения для величины спектра (вещественные)

freqs : 1-D array

Частоты, соответствующие элементам в spectrum

См. также

psd()
psd() возвращает плотность спектральной мощности.
complex_spectrum()
Эта функция возвращает абсолютное значение complex_spectrum().
angle_spectrum()
angle_spectrum() возвращает углы соответствующих частот.
phase_spectrum()
phase_spectrum() возвращает фазу (неупакованный угол) соответствующих частот.
specgram()
specgram() может возвращать величину спектра сегментов внутри сигнала.
matplotlib.mlab.movavg(x, n) [source]

Устарело начиная с версии 2.2: Функция movavg устарела в версии 2.2.

Вычисляет скользящее среднее длины len(n) для x.

matplotlib.mlab.norm_flat(a, p=2) [source]

Устарело начиная с версии 2.2: Функция norm_flat устарела в версии 2.2. Используйте numpy.linalg.norm(a.flat, ord=p) вместо неё.

norm(a,p=2) -> l-p норму a.flat

Возвращает l-p норму a, рассматривая его как плоский массив. Это НЕ истинная матричная норма, так как массивы произвольного ранга всегда сжимаются в плоский массив.

p может быть числом или строкой 'Бесконечность' для получения нормы L-бесконечность.

matplotlib.mlab.normpdf(x, *args) [source]

Устарело начиная с версии 2.2: scipy.stats.norm.pdf

Возвращает значение нормального распределения (pdf) в точке x; args предоставляет mu, sigma

matplotlib.mlab.offset_line(y, yerr) [source]

Устарело начиная с версии 2.2: Функция offset_line устарела в версии 2.2.

Смещает массив y на +/- погрешность и возвращает кортеж (y - err, y + err).

Член err может быть:

  • Скаляром. В этом случае возвращаемый кортеж очевиден.
  • Вектором той же длины, что и y. Величины y +/- err вычисляются поэлементно.
  • Кортежем длиной 2. В этом случае yerr[0] — погрешность ниже y, а yerr[1] — погрешность выше y. Например:

    from pylab import *
    x = linspace(0, 2*pi, num=100, endpoint=True)
    y = sin(x)
    y_minus, y_plus = mlab.offset_line(y, 0.1)
    plot(x, y)
    fill_between(x, ym, y2=yp)
    show()
    
matplotlib.mlab.path_length(X) [source]

Устарело начиная с версии 2.2: Функция path_length устарела в версии 2.2.

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

Где X — массив или матрица M x N. Возвращает массив длины M, содержащий расстояние по кривой в каждой точке (т.е. строки X).

matplotlib.mlab.phase_spectrum(x, Fs=None, window=None, pad_to=None, sides=None) [source]

Вычисляет фазу спектра частот (неупакованный спектр углов) x. Данные дополняются до длины pad_to, и к сигналу применяется функция оконного фильтра window.

Параметры:
x : 1-D array or sequence

Массив или последовательность, содержащая данные

Fs : scalar

Частота дискретизации (образцов в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах на единицу времени. Значение по умолчанию равно 2.

window : callable or ndarray

Функция или вектор длиной NFFT. Для создания векторов окон см. window_hanning(), window_none(), numpy.blackman(), numpy.hamming(), numpy.bartlett(), scipy.signal(), scipy.signal.get_window() и т.д. Значение по умолчанию — window_hanning(). Если в качестве аргумента передана функция, она должна принять фрагмент данных в качестве аргумента и вернуть оконную версию фрагмента.

sides : [ 'default' | 'onesided' | 'twosided' ]

Определяет, какие стороны спектра возвращать. Значение по умолчанию обеспечивает стандартное поведение, возвращающее односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.

pad_to : integer

Число точек, до которого дополняется фрагмент данных при выполнении БПФ. Несмотря на то, что это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешимыми пиками), это может обеспечить больше точек на графике, позволяя получить больше деталей. Это соответствует параметру n в вызове fft(). Значение по умолчанию — None, что устанавливает pad_to равным длине входного сигнала (т.е. без дополнения).

Возвращает:
spectrum : 1-D array

Значения для спектра фаз в радианах (вещественные значения)

freqs : 1-D array

Частоты, соответствующие элементам в spectrum

См. также

complex_spectrum()
Эта функция возвращает значение угла complex_spectrum().
magnitude_spectrum()
magnitude_spectrum() возвращает величины соответствующих частот.
angle_spectrum()
angle_spectrum() возвращает упакованную версию этой функции.
specgram()
specgram() может возвращать спектр фаз сегментов в пределах сигнала.
matplotlib.mlab.poly_below(xmin, xs, ys) [source]

Устарело начиная с версии 2.2: Функция poly_below устарела в версии 2.2.

Принимая последовательность xs и ys, возвращает вершины многоугольника, имеющего горизонтальную базу в xmin и верхнюю границу в ys. xmin — скаляр.

Предназначена для использования с matplotlib.axes.Axes.fill(), например:

xv, yv = poly_below(0, x, y)
ax.fill(xv, yv)
matplotlib.mlab.poly_between(x, ylower, yupper) [source]

Устарело начиная с версии 2.2: Функция poly_between устарела в версии 2.2.

Принимая последовательность x, ylower и yupper, возвращает многоугольник, заполняющий области между ними. ylower или yupper могут быть скалярными или итерируемыми. Если они итерируемые, их длина должна быть равна длине x.

Значение возврата — массивы x и y для использования с matplotlib.axes.Axes.fill().

matplotlib.mlab.prctile(x, p=(0.0, 25.0, 50.0, 75.0, 100.0)) [source]

Устарело начиная с версии 2.2: numpy.percentile

Возвращает процентили x. p может быть последовательностью значений процентилей или скаляром. Если p — последовательность, i-й элемент последовательности возврата — p*(i)-й процентиль *x. Если p — скаляр, возвращается наибольшее значение x, меньшее или равное p-процентилю в последовательности.

matplotlib.mlab.prctile_rank(x, p) [source]

Устарело начиная с версии 2.2: Функция prctile_rank устарела в версии 2.2.

Возвращает ранг для каждого элемента в x, возвращает ранг 0..len(p). Например, если p = (25, 50, 75), значение возврата будет массивом длиной len(x) со значениями в [0,1,2,3], где 0 указывает, что значение меньше 25-го процентиля, 1 указывает, что значение ≥ 25-го и < 50-го процентиля и т.д., а 3 указывает, что значение больше 75-го процентильного отсечения.

p — это либо массив процентилей в [0..100], либо скаляр, который указывает, сколько квантилей данных вы хотите ранжировать.

END_OF_DOCUMENT_MARKER
matplotlib.mlab.psd(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None) [source]

Вычислить плотность спектральной мощности.

Вызов функции:

psd(x, NFFT=256, Fs=2, detrend=mlab.detrend_none,
    window=mlab.window_hanning, noverlap=0, pad_to=None,
    sides='default', scale_by_freq=None)

Плотность спектральной мощности методом усредненной периодограммы Уэлча. Вектор x делится на сегменты длиной NFFT. Каждый сегмент обрабатывается функцией detrend и окончивается функцией window. noverlap задаёт длину перекрытия между сегментами. каждого сегмента усредняются для вычисления .

Если len(x) < NFFT, данные будут дополнены нулями до NFFT.

Параметры:
x : 1-D array or sequence

Массив или последовательность, содержащая данные

Fs : scalar

Частота дискретизации (образцов в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах за единицу времени. Значение по умолчанию — 2.

window : callable or ndarray

Функция или вектор длиной NFFT. Для создания векторов окон см. window_hanning(), window_none(), numpy.blackman(), numpy.hamming(), numpy.bartlett(), scipy.signal(), scipy.signal.get_window() и т. д. Значение по умолчанию — window_hanning(). Если в качестве аргумента передана функция, она должна принимать сегмент данных и возвращать оконченную версию сегмента.

sides : [ 'default' | 'onesided' | 'twosided' ]

Определяет, какие стороны спектра возвращать. По умолчанию используется поведение по умолчанию, которое возвращает односторонний спектр для вещественных данных и двусторонний для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.

pad_to : integer

Число точек, до которого дополняются нулями сегменты данных при выполнении БПФ. Может отличаться от NFFT, которое определяет количество точек данных, используемых. Хотя это не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), это может предоставить больше точек в графике, что позволит получить больше деталей. Соответствует параметру n в вызове fft(). Значение по умолчанию — None, которое устанавливает pad_to равным NFFT.

NFFT : integer

Количество точек данных, используемых в каждом блоке для БПФ. Мощность 2 наиболее эффективна. Значение по умолчанию — 256. Не следует использовать для получения нулевого заполнения, так как масштабирование результата будет неправильным. Для этого используйте pad_to.

detrend : {'default', 'constant', 'mean', 'linear', 'none'} or callable

Функция, применяемая к каждому сегменту перед БПФ, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend — вектор, в matplotlib это функция. Модуль pylab определяет detrend_none(), detrend_mean(), и detrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций. 'default', 'constant', и 'mean' вызывают detrend_mean(). 'linear' вызывает detrend_linear(). 'none' вызывает detrend_none().

scale_by_freq : boolean, optional

Указывает, должны ли значения плотности масштабироваться по частоте масштабирования, что даёт плотность в единицах Hz^-1. Это позволяет интегрировать по возвращённым значениям частоты. По умолчанию — True для совместимости с MATLAB.

noverlap : integer

Количество перекрывающихся точек между сегментами. Значение по умолчанию — 0 (нет перекрытия).

Возвращает:
Pxx : 1-D array

Значения спектра мощности P_{xx} (вещественные)

freqs : 1-D array

Частоты, соответствующие элементам в Pxx

См. также

specgram()
specgram() отличается по умолчанию перекрытием; не возвращает среднее значение периодограмм сегментов; и возвращает время сегментов.
magnitude_spectrum()
magnitude_spectrum() возвращает спектр по величине.
csd()
csd() возвращает плотность спектра между двумя сигналами.

Ссылки

Bendat & Piersol — Случайные данные: методы анализа и измерения, John Wiley & Sons (1986)

matplotlib.mlab.quad2cubic(q0x, q0y, q1x, q1y, q2x, q2y) [source]

Устаревшая с версии 2.2: Функция quad2cubic устарела с версии 2.2.

Преобразует квадратичную кривую Безье в кубическое приближение.

На вход подаются координаты x и y трёх контрольных точек квадратичной кривой, а на выходе — кортеж координат x и y четырёх контрольных точек кубической кривой.

matplotlib.mlab.rec2csv(r, fname, delimiter=', ', formatd=None, missing='', missingd=None, withheader=True) [source]

Устаревшая с версии 2.2: Функция rec2csv устарела с версии 2.2. Используйте numpy.recarray.tofile вместо неё.

Сохраняет данные из numpy recarray r в файл с разделителями запятыми/пробелами/табуляцией. Имена типов данных массива записей будут использованы в качестве заголовков столбцов.

fname: может быть именем файла или дескриптором файла. Поддержка файлов с расширением .gz автоматическая, если имя файла заканчивается на '.gz'
withheader: если withheader равен False, не записывать имена атрибутов в первой строке

Для типа данных FormatFloat мы переопределяем точность, чтобы сохранить полную точность чисел с плавающей точкой в файле CSV

См. также

csv2rec()
Для получения информации о missing и missingd, которые можно использовать для заполнения пропущенных значений в файле CSV.
matplotlib.mlab.rec2txt(r, header=None, padding=3, precision=3, fields=None) [source]

Устаревшая с версии 2.2: Функция rec2txt устарела с версии 2.2. Используйте numpy.recarray.tofile вместо неё.

Возвращает текстовое представление массива записей.

Параметры:
r: numpy recarray
header: список

заголовки столбцов

padding:

пробелы между столбцами

precision: число десятичных знаков для чисел с плавающей точкой.

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

fields : list

Если не None, список имён полей для вывода. fields может быть списком строк, например, ['field1', 'field2'], или одной строкой с запятыми, например, 'field1,field2'

Примеры

Для precision=[0,2,3], выходной результат

ID    Price   Return
ABC   12.54    0.234
XYZ    6.32   -0.076
matplotlib.mlab.rec_append_fields(rec, names, arrs, dtypes=None) [source]

Устаревшая с версии 2.2: Функция rec_append_fields устарела с версии 2.2.

Возвращает новый массив записей с именами полей, заполненными данными из массивов в arrs. Если добавляется одно поле, то names, arrs и dtypes не должны быть списками. Они могут быть просто самими значениями.

matplotlib.mlab.rec_drop_fields(rec, names) [source]

Устаревшая с версии 2.2: Функция rec_drop_fields устарела с версии 2.2.

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

matplotlib.mlab.rec_groupby(r, groupby, stats) [source]

Deprecated since version 2.2: Функция rec_groupby устарела начиная с версии 2.2.

r — это массив NumPy с записями.

groupby — это последовательность имён атрибутов массива записей, которые вместе образуют ключ группировки. Например, ('date', 'productcode').

stats — это последовательность кортежей (attr, func, outname), которые вызовут x = func(attr) и назначат x массиву записей в виде атрибута outname. Например:

stats = ( ('sales', len, 'numsales'), ('sales', np.mean, 'avgsale') )

Массив возвращаемых записей имеет имена dtype для каждого имени атрибута в аргументе groupby с соответствующими значениями групп и для каждого имени outname в аргументе stats с соответствующим выходным статистическим обобщением.

matplotlib.mlab.rec_join(key, r1, r2, jointype='inner', defaults=None, r1postfix='1', r2postfix='2') [source]

Deprecated since version 2.2: Функция rec_join устарела начиная с версии 2.2.

Объединяет массивы записей r1 и r2 по ключу key; key — это кортеж имён полей — если key — строка, она предполагается именем одного атрибута. Если r1 и r2 имеют равные значения по всем ключам в кортеже key, их поля объединяются в новый массив записей, содержащий пересечение полей r1 и r2.

r1 (также r2) не должен иметь дублирующих ключей.

Ключевое слово jointype может принимать значения 'inner', 'outer', 'leftouter'. Чтобы выполнить правое внешнее соединение, просто поменяйте местами r1 и r2.

Ключевое слово defaults — это словарь, заполненный {column_name:default_value} парами.

Ключевые слова r1postfix и r2postfix добавляют постфиксы к именам столбцов (кроме ключей), которые присутствуют как в r1, так и в r2.

matplotlib.mlab.rec_keep_fields(rec, names) [source]

Deprecated since version 2.2: Функция rec_keep_fields устарела начиная с версии 2.2.

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

matplotlib.mlab.rec_summarize(r, summaryfuncs) [source]

Deprecated since version 2.2: Функция rec_summarize устарела начиная с версии 2.2.

r — это массив NumPy с записями.

summaryfuncs — это список кортежей (attr, func, outname), которые применяют func к массиву r*[attr] и присваивают результат новому имени атрибута *outname*. Возвращаемый массив записей идентичен r, с дополнительными массивами для каждого элемента в summaryfuncs.

matplotlib.mlab.recs_join(key, name, recs, jointype='outer', missing=0.0, postfixes=None) [source]

Deprecated since version 2.2: Функция recs_join устарела начиная с версии 2.2.

Объединение последовательности массивов записей по ключу одного столбца.

Эта функция выполняет объединение только одного столбца в нескольких массивах записей.

key
имя столбца, выступающего в качестве ключа
name
имя столбца, который мы хотим объединить
recs
список массивов записей для объединения
jointype
строка 'inner' или 'outer'
missing
чем заменяется любое отсутствующее поле
postfixes
если не равно None, последовательность постфиксов длины recs

Возвращает массив записей со столбцами [rowkey, name0, name1, ... namen-1]. Или, если предоставлены постфиксы [PF0, PF1, ..., PFN-1], [rowkey, namePF0, namePF1, ... namePFN-1].

Пример:

r = recs_join("date", "close", recs=[r0, r1], missing=0.)
matplotlib.mlab.rk4(derivs, y0, t) [source]

Deprecated since version 2.2: scipy.integrate.ode

Интегрирование 1D или ND системы ОДУ с помощью метода Рунге-Кутты 4-го порядка. Это реализация для учебных целей, которая может быть полезна, если вы оказались в системе без scipy. В противном случае используйте scipy.integrate().

Параметры:
y0

вектор начального состояния

t

времена выборки

derivs

возвращает производную системы и имеет сигнатуру dy = derivs(yi, ti)

Примеры

Система 2D:

def derivs6(x,t):
    d1 =  x[0] + 2*x[1]
    d2 =  -3*x[0] + 4*x[1]
    return (d1, d2)
dt = 0.0005
t = arange(0.0, 2.0, dt)
y0 = (1,2)
yout = rk4(derivs6, y0, t)

Система 1D:

alpha = 2
def derivs(x,t):
    return -alpha*x + exp(-t)

y0 = 1
yout = rk4(derivs, y0, t)

Если у вас есть доступ к scipy, вы, вероятно, должны использовать инструменты scipy.integrate вместо этой функции.

matplotlib.mlab.rms_flat(a) [source]

Deprecated since version 2.2: Функция rms_flat устарела начиная с версии 2.2.

Возвращает среднеквадратическое отклонение всех элементов a, сглаженных.

matplotlib.mlab.safe_isinf(x) [source]

Deprecated since version 2.2: numpy.isinf

numpy.isinf() для произвольных типов

matplotlib.mlab.safe_isnan(x) [source]

Deprecated since version 2.2: numpy.isnan

numpy.isnan() для произвольных типов

matplotlib.mlab.segments_intersect(s1, s2) [source]

Deprecated since version 2.2: Функция segments_intersect устарела начиная с версии 2.2.

Возвращает True, если s1 и s2 пересекаются. s1 и s2 определяются как:

s1: (x1, y1), (x2, y2)
s2: (x3, y3), (x4, y4)
matplotlib.mlab.slopes(x, y) [source]

Deprecated since version 2.2: Функция slopes устарела начиная с версии 2.2.

slopes() вычисляет наклон y'(x)

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

Этот метод должен быть предпочтительнее, чем метод, описанный в приложении к статье A CONSISTENTLY WELL BEHAVED METHOD OF INTERPOLATION Рассела У. Стайнемана (Creative Computing, июль 1980), по крайней мере в одном аспекте:

Круги для интерполяции требуют известного соотношения сторон между x- и y-значениями. Однако для многих функций абсциссы задаются в разных измерениях, поэтому соотношение сторон является произвольным.

Метод параболы даёт очень похожие результаты, что и метод кругов для большинства обычных случаев, но работает намного лучше в особых случаях.

Норберт Немец, Институт теоретической физики, Университет Регенсбурга, апрель 2006 г. Norbert.Nemec at physik.uni-regensburg.de

(на основе исходной реализации Холдора Бьорнссона, Исландская метеорологическая служба, март 2006 г. halldor at vedur.is)

END_OF_DOCUMENT_MARKER
matplotlib.mlab.specgram(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, mode=None) [source]

Вычисление спектрограммы.

Вычисление и построение спектрограммы данных в x. Данные разбиваются на сегменты длиной NFFT, и вычисляется спектр каждого сегмента. Функция оконного анализа window применяется к каждому сегменту, а количество перекрытия каждого сегмента задается параметром noverlap.

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

Одномерный массив или последовательность.

Fs : scalar

Частота дискретизации (образцов в единицу времени). Используется для вычисления частот Фурье, freqs, в циклах на единицу времени. Значение по умолчанию равно 2.

window : callable or ndarray

Функция или вектор длиной NFFT. Для создания векторов окон см. window_hanning(), window_none(), numpy.blackman(), numpy.hamming(), numpy.bartlett(), scipy.signal(), scipy.signal.get_window() и др. По умолчанию используется window_hanning(). Если в качестве аргумента передана функция, она должна принимать сегмент данных в качестве аргумента и возвращать оконную версию сегмента.

sides : [ 'default' | 'onesided' | 'twosided' ]

Определяет, какие стороны спектра вернуть. По умолчанию используется стандартное поведение, возвращающее односторонний спектр для вещественных данных и двусторонний для комплексных. 'onesided' принудительно возвращает односторонний спектр, 'twosided' — двусторонний.

pad_to : integer

Количество точек, на которое данные сегмента дополняются при выполнении БПФ. Может отличаться от NFFT, который определяет количество точек данных, используемых. Хотя не увеличивает фактическое разрешение спектра (минимальное расстояние между разрешаемыми пиками), может обеспечить больше точек на графике, что позволит получить больше деталей. Соответствует параметру n в вызове fft(). По умолчанию None, который устанавливает pad_to равным NFFT

NFFT : integer

Количество точек данных, используемых в каждом блоке для БПФ. Мощность 2 наиболее эффективна. Значение по умолчанию равно 256. Не следует использовать для получения нулевого заполнения, иначе масштабирование результата будет неправильным. Используйте pad_to для этого.

detrend : {'default', 'constant', 'mean', 'linear', 'none'} or callable

Функция, применяемая к каждому сегменту перед БПФ, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend — это вектор, в matplotlib он — функция. Модуль pylab определяет detrend_none(), detrend_mean(), и detrend_linear(), но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций. 'default', 'constant', и 'mean' вызывают detrend_mean(). 'linear' вызывает detrend_linear(). 'none' вызывает detrend_none().

scale_by_freq : boolean, optional

Указывает, следует ли масштабировать возвращаемые значения плотности с учетом масштабирующей частоты, что приводит к плотности в единицах Hz^-1. Это позволяет интегрировать по возвращаемым значениям частоты. По умолчанию True для совместимости с MATLAB.

noverlap : int, optional

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

mode : str, optional
Тип спектра, по умолчанию 'psd'.
'psd'

Возвращает плотность спектральной мощности.

'complex'

Возвращает спектр частоты с комплексными значениями.

'magnitude'

Возвращает спектр величины.

'angle'

Возвращает спектр фаз без размотки.

'phase'

Возвращает спектр фаз с размоткой.

Возвращаемое значение:
spectrum : array_like

Двумерный массив, столбцы — периодограммы последовательных сегментов.

freqs : array_like

Одномерный массив, частоты, соответствующие строкам в spectrum.

t : array_like

Одномерный массив, моменты времени, соответствующие серединам сегментов (т.е., столбцам в spectrum).

См. также

psd
отличается перекрытием и возвращаемыми значениями.
complex_spectrum
аналогично, но с комплексными частотами.
magnitude_spectrum
аналогично для единственного сегмента, когда режим 'magnitude'.
angle_spectrum
аналогично для единственного сегмента, когда режим 'angle'.
phase_spectrum
аналогично для единственного сегмента, когда режим 'phase'.

Примечания

detrend и scale_by_freq применяются только при установке mode в 'psd'.

matplotlib.mlab.stineman_interp(xi, x, y, yp=None) [source]

Устарело начиная с версии 2.2: Функция stineman_interp устарела начиная с версии 2.2.

При заданных векторах данных x и y, векторе наклонов yp и новом векторе абсцисс xi, функция stineman_interp() использует интерполяцию Стинемана для вычисления вектора yi, соответствующего xi.

Вот пример, генерирующий грубую синусоидальную кривую, а затем интерполирует ее на более тонкой абсциссе:

x = linspace(0,2*pi,20);  y = sin(x); yp = cos(x)
xi = linspace(0,2*pi,40);
yi = stineman_interp(xi,x,y,yp);
plot(x,y,'o',xi,yi)

Метод интерполяции описан в статье A CONSISTENTLY WELL BEHAVED METHOD OF INTERPOLATION, автором которой является Рассел У. Стинеман. Статья была опубликована в июльском номере Creative Computing 1980 года с примечанием редактора, в котором отмечалось, что, хотя это не академический журнал, время от времени появляются серьезные и оригинальные работы, добавив, что это «по-видимому, истинное решение» известной проблемы.

Для yp = None процедура автоматически определяет наклоны, используя процедуру slopes().

Предполагается, что x отсортирован в порядке возрастания.

Для значений xi[j] < x[0] или xi[j] > x[-1], процедура пытается выполнить экстраполяцию. Соответствие полученных данных, конечно, сомнительно…

Оригинальная реализация Халлдора Бьёрнссона, Исланская метеорологическая служба, март 2006 halldor at vedur.is

Полностью переработанная и оптимизированная реализация для Python Норбертом Немеком, Институт теоретической физики, Университет Регенсбурга, апрель 2006 Norbert.Nemec at physik.uni-regensburg.de

matplotlib.mlab.stride_repeat(x, n, axis=0) [source]

Повторяет значения в массиве эффективным способом с точки зрения памяти. Массив x складывается вертикально n раз.

Предупреждение

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

Параметры:
x : 1D array or sequence

Массив или последовательность, содержащая данные.

n : integer

Количество повторений массива.

axis : integer

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

Ссылки

stackoverflow: Повторить массив NumPy без дублирования данных?

matplotlib.mlab.stride_windows(x, n, noverlap=None, axis=0) [source]

Получить все окна x длиной n как один массив, используя смещения для предотвращения дублирования данных.

Предупреждение

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

Параметры:
x : 1D array or sequence

Массив или последовательность, содержащая данные.

n : integer

Количество точек данных в каждом окне.

noverlap : integer

Перекрытие между смежными окнами. По умолчанию 0 (без перекрытия)

axis : integer

Ось, вдоль которой будут выполняться окна.

Ссылки

stackoverflow: Окна скользящего среднего для одномерных массивов в Numpy? stackoverflow: Использование смещений для эффективного фильтра скользящего среднего

matplotlib.mlab.vector_lengths(X, P=2.0, axis=None) [source]

Устарело начиная с версии 2.2: Функция vector_lengths устарела в версии 2.2.

Находит длину набора векторов в n измерениях. Это как функция numpy.norm() для векторов, но имеет возможность работать с конкретной осью предоставленного массива или матрицы.

Вычисляет (sum((x_i)^P))^(1/P) для каждого {x_i} являющегося элементами X вдоль заданной оси. Если axis равен None, вычисление производится по всем элементам X.

matplotlib.mlab.window_hanning(x) [source]

Возвращает x умноженный на окно Ханна длиной len(x).

См. также

window_none()
window_none() - это другой алгоритм окна.
matplotlib.mlab.window_none(x) [source]

Функция окна отсутствует; просто возвращает x.

См. также

window_hanning()
window_hanning() - это другой алгоритм окна.

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

Spec-Zone.ru

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