matplotlib.pyplot.specgram()函数 - 绘制光谱图

matplotlib.pyplot.specgram()函数

Matplotlib是Python中的一个库,它是NumPy库的数值-数学扩展。Pyplot是一个基于状态的Matplotlib模块接口,该模块提供了一个类似matlab的接口。

matplotlib.pyplot.specgram()函数

使用matplotlib库pyplot模块中的specgram()函数绘制光谱图。

语法:matplotlib.pyplot.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:数据序列。
  • Fs:标量。默认值为2。
  • window:该参数接受一个数据段作为参数,并返回该段的窗口版本。其默认值是window_hanning()
  • sides:该参数指定返回频谱的哪一边。它可以有以下值:’ default ‘, ‘ onesided ‘和’ twosided ‘。
  • pad_to:该参数包含填充数据段的整数值。
  • Fc:该参数还包含整数值,用于偏移图形的x个区段,以反映频率范围。默认值为0
  • NFFT:该参数包含用于FFT的每个块的数据点的数量。
  • detrend:该参数包含在fft-ing之前应用于每个分段的函数,旨在去除平均值或线性趋势{‘ none ‘, ‘ mean ‘, ‘ linear ‘}。
  • scale_by_freq:该参数允许对返回的频率值进行集成。
  • mode:该参数是使用哪种频谱{‘ default ‘, ‘ psd ‘, ‘量级’,’角度’,’相位’}。
  • noverlap:该参数表示块之间的重叠点数量。
  • scale:该参数包含spec {‘ default ‘, ‘ linear ‘, ‘ dB ‘}中值的缩放。
  • Fc: x的中心频率。
  • camp:这个参数是一个matplotlib.colors.Colormap实例。

返回如下内容:

  • spectrum:以弧度为单位返回角度谱。
  • freqs:返回与频谱中元素对应的频率。
  • t:这个函数返回线段中点对应的时间。
  • im:返回由imshow创建的包含光谱图的图像。

结果是(spectrum, freqs, t, im)

下面的例子演示了matplotlib.pyplot.specgram()函数在matplotlib.pyplot中的作用:

示例1

# Implementation of matplotlib function
import matplotlib.pyplot as plt 
import numpy as np 
  
    
dt = 0.005
t = np.arange(0.0, 20.0, dt) 
x = np.sin(np.pi * t) + 1.5 * np.cos(np.pi * 2*t) 
  
plt.specgram(x, Fs = 1)
plt.title('matplotlib.pyplot.specgram() Example\n', 
          fontsize = 14, fontweight ='bold')
  
plt.show()

输出:

matplotlib.pyplot.specgram()函数

示例2

# Implementation of matplotlib function
import matplotlib.pyplot as plt 
import numpy as np 
  
  
np.random.seed(9360801) 
    
dt = 0.0005
t = np.arange(0.0, 20.0, dt) 
s1 = np.sin(4 * np.pi * 100 * t) 
s2 = 1.5 * np.sin(1.5 * np.pi * 400 * t) 
    
s2[t <= 10] = s2[12 <= t] = 0
    
nse = 0.2 * np.random.random(size = len(t)) 
    
x = s1 + s2 + nse   
NFFT = 512 
Fs = int(1.0 / dt)  
  
plt.specgram(x, Fs = Fs, cmap = plt.cm.bone) 
plt.title('matplotlib.pyplot.specgram() Example\n',
          fontsize = 14, fontweight ='bold')
  
plt.show()

输出:

matplotlib.pyplot.specgram()函数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程