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)[источник]
-
Строит спектрограмму.
Вычисляет и строит спектрограмму данных x. Данные разбиваются на сегменты длиной NFFT, и для каждого сегмента вычисляется спектр. К каждому сегменту применяется оконная функция window, а величина перекрытия сегментов задаётся параметром noverlap. Спектрограмма отображается в виде цветовой карты (с помощью imshow).
- Параметры:
-
- x1-D массив или последовательность
-
Массив или последовательность, содержащая данные.
- Fsfloat, по умолчанию: 2
-
Частота дискретизации (число отсчётов на единицу времени). Используется для вычисления частот Фурье freqs в циклах на единицу времени.
-
windowвызываемый объект или ndarray, по умолчанию:
window_hanning -
Функция или вектор длины NFFT. Для создания векторов окна см.
window_hanning,window_none,numpy.blackman,numpy.hamming,numpy.bartlett,scipy.signal,scipy.signal.get_windowи т. д. Если в качестве аргумента передана функция, она должна принимать сегмент данных и возвращать его оконную версию. - sides{'default', 'onesided', 'twosided'}, необязательный
-
Какие части спектра возвращать. Значение 'default' означает односторонний спектр для действительных данных и двусторонний — для комплексных. Значение 'onesided' принудительно возвращает односторонний спектр, а 'twosided' — двусторонний.
- pad_toint, необязательный
-
Число точек, до которого дополняется сегмент данных при выполнении FFT. Это значение может отличаться от NFFT, задающего число используемых точек данных. Хотя это не повышает фактическое разрешение спектра (минимальное расстояние между различимыми пиками), на графике может отображаться больше точек, что позволяет рассмотреть больше деталей. Соответствует параметру n при вызове
fft. По умолчанию имеет значение None, при котором pad_to равен NFFT - NFFTint, по умолчанию: 256
-
Число точек данных, используемых в каждом блоке для FFT. Наиболее эффективна степень двойки. НЕ используйте этот параметр для дополнения нулями, иначе масштабирование результата будет некорректным; вместо этого используйте pad_to.
- detrend{'none', 'mean', 'linear'} или вызываемый объект, по умолчанию: 'none'
-
Функция, применяемая к каждому сегменту перед вычислением FFT для удаления среднего значения или линейного тренда. В отличие от MATLAB, где параметр detrend является вектором, в Matplotlib он представляет собой функцию. Модуль
mlabопределяет функцииdetrend_none,detrend_meanиdetrend_linear, но также можно использовать собственную функцию. Можно также указать строку, чтобы выбрать одну из функций: 'none' вызываетdetrend_none. 'mean' вызываетdetrend_mean. 'linear' вызываетdetrend_linear. - scale_by_freqbool, по умолчанию: True
-
Следует ли масштабировать результирующие значения плотности по частоте масштабирования, чтобы плотность выражалась в единицах 1/Hz. Это позволяет интегрировать значения по возвращаемым частотам. По умолчанию 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). Значение 'default' соответствует 'dB', если mode равно 'psd' или 'magnitude', и 'linear' в остальных случаях. Если mode равно 'angle' или 'phase', значение должно быть 'linear'.
- Fcint, по умолчанию: 0
-
Центральная частота x, смещающая границы графика по оси x, чтобы отразить диапазон частот, использовавшийся при получении сигнала, который затем фильтруется и передискретизируется в основную полосу.
-
cmap
Colormap, по умолчанию:rcParams["image.cmap"](по умолчанию:'viridis') - xextentNone или (xmin, xmax)
-
Границы изображения по оси x. По умолчанию xmin соответствует левой границе первого бина (столбца spectrum), а xmax — правой границе последнего бина. Обратите внимание: при noverlap>0 ширина бинов меньше ширины сегментов.
- dataиндексируемый объект, необязательный
-
Если параметр задан, следующие параметры также могут принимать строку
s, которая интерпретируется какdata[s], еслиsявляется ключом вdata:x
- vmin, vmaxfloat, необязательные
-
vmin и vmax задают диапазон данных, охватываемый цветовой картой. По умолчанию цветовая карта охватывает полный диапазон значений данных.
- **kwargs
-
Дополнительные именованные аргументы передаются в
imshow, которая создаёт изображение спектрограммы. Именованный аргумент origin не поддерживается.
- Возвращает:
-
- spectrum2D массив
-
Столбцы — периодограммы последовательных сегментов.
- freqs1-D массив
-
Частоты, соответствующие строкам в spectrum.
- t1-D массив
-
Времена, соответствующие серединам сегментов (то есть столбцам в 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–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.specgram.html