matplotlib.axes.Axes.specgram
- Axes.specgram(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, cmap=None, xextent=None, pad_to=None, sides=None, scale_by_freq=None, mode=None, scale=None, vmin=None, vmax=None, *, data=None, **kwargs)[source]
-
Построение спектрограммы.
Вычисление и построение спектрограммы данных в x. Данные разбиваются на сегменты длиной NFFT, и вычисляется спектр каждого сегмента. Функция оконного фильтра window применяется к каждому сегменту, а количество перекрытия каждого сегмента задаётся параметром noverlap. Спектрограмма отображается в виде цветовой карты (используя imshow).
- Параметры:
-
- xОдномерный массив или последовательность
-
Массив или последовательность, содержащая данные.
- Fsвещественное число, по умолчанию: 2
-
Частота дискретизации (образцы в единицу времени). Используется для расчета частот Фурье, freqs, в циклах на единицу времени.
-
windowвызываемая функция или массив, по умолчанию:
window_hanning -
Функция или вектор длиной NFFT. Для создания векторов окон см.
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_windowи т. д. Если в качестве аргумента передаётся функция, она должна принимать сегмент данных и возвращать оконную версию сегмента. - sides{'default', 'onesided', 'twosided'}, optional
-
Какие стороны спектра возвращать. 'default' — односторонняя для вещественных данных и двухсторонняя для комплексных данных. 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двухсторонний.
- pad_toint, optional
-
Количество точек, до которых дополняется сегмент данных при выполнении БПФ. Может отличаться от NFFT, который определяет количество точек данных, используемых.
- NFFTint, по умолчанию: 256
-
Количество точек данных, используемых в каждом блоке для БПФ. Мощность 2 наиболее эффективна. Не следует использовать для получения нулевого заполнения, так как масштабирование результата будет неверным; для этого используйте pad_to.
- detrend{'none', 'mean', 'linear'} или вызываемая функция, по умолчанию: 'none'
-
Функция, применяемая к каждому сегменту перед БПФ, предназначенная для удаления среднего значения или линейной тенденции. В отличие от MATLAB, где параметр detrend является вектором, в Matplotlib он является функцией. Модуль
mlabопределяетdetrend_none,detrend_meanиdetrend_linear, но вы также можете использовать пользовательскую функцию. Вы также можете использовать строку для выбора одной из функций: 'none' вызываетdetrend_none. 'mean' вызываетdetrend_mean. 'linear' вызываетdetrend_linear. - scale_by_freqbool, по умолчанию: True
-
Указывает, следует ли масштабировать значения плотности на частоту, что дает плотность в единицах 1/Гц. Это позволяет интегрировать по возвращаемым частотам. По умолчанию True для совместимости с MATLAB.
- mode{'default', 'psd', 'magnitude', 'angle', 'phase'}
-
Какой тип спектра использовать. По умолчанию 'psd', который возвращает плотность спектральной мощности. 'magnitude' возвращает спектр по величине. 'angle' возвращает спектр фазы без развёртывания. 'phase' возвращает спектр фазы с развёртыванием.
- noverlapint, по умолчанию: 128
-
Количество перекрывающихся точек между блоками.
- scale{'default', 'linear', 'dB'}
-
Масштабирование значений в spec. 'linear' — без масштабирования. 'dB' возвращает значения в шкале дБ. При mode = 'psd' это дБ мощности (10 * log10). В противном случае это дБ амплитуды (20 * log10). По умолчанию 'dB', если mode = 'psd' или 'magnitude', и 'linear' в противном случае. Должно быть 'linear', если mode = 'angle' или 'phase'.
- Fcint, по умолчанию: 0
-
Центральная частота x, смещающая диапазоны x графика для отражения используемого диапазона частот, когда сигнал приобретается, затем фильтруется и сэмплируется вниз до нулевой полосы.
-
cmap
Colormap, по умолчанию:rcParams["image.cmap"](по умолчанию:'viridis') - xextentNone или (xmin, xmax)
-
Диапазон изображения по оси x. По умолчанию xmin устанавливается в левую границу первого бина (столбец spectrum), а xmax — в правую границу последнего бина. Обратите внимание, что при noverlap>0 ширина бинов меньше, чем у сегментов.
- dataиндексируемый объект, необязательно
-
Если задано, следующие параметры также принимают строку
s, которая интерпретируется какdata[s](если это не приводит к исключению):x
- **kwargs
-
Дополнительные ключевые аргументы передаются в
imshow, что создаёт изображение specgram. Аргумент origin не поддерживается.
- Возвращаемое значение:
-
- spectrum2D массив
-
Столбцы — периодограммы последовательных сегментов.
- freqs1D массив
-
Частоты, соответствующие строкам в spectrum.
- t1D массив
-
Времена, соответствующие серединам сегментов (т. е. столбцам в spectrum).
-
im
AxesImage -
Изображение, созданное imshow, содержащее спектрограмму.
См. также
psd-
Отличается по умолчанию перекрытием; возвращает среднее значение периодограмм сегментов; не возвращает времени; и генерирует график линий вместо цветовой карты.
magnitude_spectrum-
Один спектр, аналогично одному сегменту, когда mode = 'magnitude'. Строит график линии вместо цветовой карты.
angle_spectrum-
Один спектр, аналогично одному сегменту, когда mode = 'angle'. Строит график линии вместо цветовой карты.
phase_spectrum-
Один спектр, аналогично одному сегменту, когда mode = 'phase'. Строит график линии вместо цветовой карты.
Примечания
Параметры detrend и scale_by_freq применяются только тогда, когда mode установлен в 'psd'.
Примеры использования matplotlib.axes.Axes.specgram
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/_as_gen/matplotlib.axes.Axes.specgram.html