Matplotlib.pyplot.psd() in Python - GeeksforGeeks

21 Apr, 2020
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.
The csd() function in pyplot module of matplotlib library is used to plot the cross-spectral density.
Syntax: matplotlib.pyplot.csd(x, y, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, return_line=None, \*, data=None, \*\*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.
NFFT : This parameter contains the number of data points used in each block for the FFT.
detrend : This parameter contains the function applied to each segment before fft-ing, designed to remove the mean or linear trend {‘none’, ‘mean’, ‘linear’}.
scale_by_freq : This parameter is allows for integration over the returned frequency values.
noverlap : This parameter is the number of points of overlap between blocks.
Fc : This parameter is the center frequency of x.
return_line : This parameter include the line object plotted in the returned values.
Returns: This returns the following:
Pxx:This returns the values for the power spectrum P_{xx} before scaling.
freqs :This returns the frequencies for the elements in Pxx.
line :This returns the line created by this function.
The resultant is (Pxx, freqs, line)
Below examples illustrate the matplotlib.pyplot.psd() function in matplotlib.pyplot:
Example #1:
# Implementation of matplotlib functionimport numpy as npimport matplotlib.pyplot as plt    dt = 0.01t = np.arange(0, 30, dt)nse1 = np.random.randn(len(t))    s1 = 1.5 * np.sin(2 * np.pi * 10 * t) + nse1 + np.cos(np.pi * t)    plt.psd(s1**2, 512, 1./dt, color ="green")plt.xlabel('Frequency')plt.ylabel('PSD(db)')  plt.suptitle('matplotlib.pyplot.psd() function \Example', fontweight ="bold")  plt.show()
Output:
Example #2:
# Implementation of matplotlib functionimport numpy as npimport matplotlib.pyplot as plt     dt = 0.01t = np.arange(0, 30, dt)nse1 = np.random.randn(len(t))r = np.exp(-t / 0.05)     cnse1 = np.convolve(nse1, r, mode ='same')*dt     s1 = np.cos(np.pi * t) + cnse1 + np.sin(2 * np.pi * 10 * t)           plt.psd(s1, 2**14, dt)plt.ylabel('PSD(db)')plt.xlabel('Frequency')plt.title('matplotlib.pyplot.psd() Example\n',          fontsize = 14, fontweight ='bold')  plt.show()
Output:
Python-matplotlib
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Python Dictionary
How to Install PIP on Windows ?
Read a file line by line in Python
Enumerate() in Python
Iterate over a list in Python
Different ways to create Pandas Dataframe
Python program to convert a list to string
Create a Pandas DataFrame from Lists
Python String | replace()
Reading and Writing to text files in Python