Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. Pyplot is a state-based interface to a Matplotlib module which provides a MATLAB-like interface. There are various plots which can be used in Pyplot are Line Plot, Contour, Histogram, Scatter, 3D Plot, etc.
The magnitude_spectrum() function in pyplot module of matplotlib library is used to plot the magnitude spectrum. Generally, it compute the magnitude spectrum of sequence and plotting is done.
Syntax: magnitude_spectrum(x, Fs=2, Fc=0, window=mlab.window_hanning, pad_to=None, sides=’default’, **kwargs)
Parameters: This method accept the following parameters that are described below:
- x: This parameter is a sequence of data.
- Fs : This parameter is a scalar. Its default value is 2.
- window: This parameter take a data segment as an argument and return the windowed version of the segment. Its default value is window_hanning()
- sides: This parameter specifies which sides of the spectrum to return. This can have following values : ‘default’, ‘onesided’ and ‘twosided’.
- pad_to : This parameter contains the integer value to which the data segment is padded.
- Fc: This parameter is also contains the integer value to offsets the x extents of the plot to reflect the frequency range. Its default value is 0
Returns: This returns the following:
- spectrum :This returns the angle spectrum in radians.
- freqs :This returns the frequencies corresponding to the elements in spectrum.
- line : This returns the line created by this function.
The resultant is (spectrum, freqs, line)
Below examples illustrate the matplotlib.pyplot.magnitude_spectrum() function in matplotlib.pyplot:
Example #1:
# Implementation of matplotlib function import matplotlib.pyplot as plt import numpy as np np.random.seed( 10 * * 5 ) dt = 0.0001 Fs = 1 / dt Lazyroar = np.array([ 24.40 , 110.25 , 20.05 , 22.00 , 61.90 , 7.80 , 15.00 , 22.80 , 34.90 , 57.30 ]) nse = np.random.randn( len (Lazyroar)) r = np.exp( - Lazyroar / 0.05 ) s = 0.1 * np.sin( 2 * np.pi * Lazyroar) + nse # plot magnitude_spectrum plt.magnitude_spectrum(s, Fs = Fs) plt.title( 'matplotlib.pyplot.magnitude_spectrum() function Example' , fontweight = "bold" ) plt.show() |
Output:
Example #2:
# Implementation of matplotlib function import matplotlib.pyplot as plt import numpy as np np.random.seed( 0 ) dt = 0.01 Fs = 1 / dt t = np.arange( 0 , 10 , dt) nse = np.random.randn( len (t)) r = np.exp( - t / 0.05 ) cnse = np.convolve(nse, r) * dt cnse = cnse[: len (t)] s = 0.1 * np.sin( 2 * np.pi * t) + cnse # plot simple spectrum plt.subplot( 2 , 1 , 1 ) plt.plot(t, s) plt.title( 'matplotlib.pyplot.magnitude_spectrum() function Example' , fontweight = "bold" ) plt.subplot( 2 , 1 , 2 ) plt.magnitude_spectrum(s, Fs = Fs) plt.show() |
Output: