Matplotlib.pyplot.csd() in Python (original) (raw)

Last Updated : 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.

matplotlib.pyplot.csd() Function

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:

Returns: This returns the following:

The resultant is (Pxy, freqs, line)

Below examples illustrate the matplotlib.pyplot.csd() function in matplotlib.pyplot:

Example #1:

import numpy as np

import matplotlib.pyplot as plt

dt = 0.01

t = np.arange( 0 , 30 , dt)

nse1 = np.random.randn( len (t))

nse2 = np.random.randn( len (t))

s1 = 1.5 * np.sin( 2 * np.pi * 10 * t) + nse1

s2 = np.cos(np.pi * t) + nse2

plt.csd(s1, s2 * * 2 , 128 , 1. / dt)

plt.xlabel( 'Frequency' )

plt.ylabel( 'CSD(db)' )

plt.title( 'matplotlib.pyplot.csd() function Example' ,

`` fontweight = "bold" )

plt.show()

Output:

Example #2:

import numpy as np

import matplotlib.pyplot as plt

dt = 0.01

t = np.arange( 0 , 30 , dt)

nse1 = np.random.randn( len (t))

nse2 = np.random.randn( len (t))

r = np.exp( - t / 0.05 )

cnse1 = np.convolve(nse1, r, mode = 'same' ) * dt

cnse2 = np.convolve(nse2, r, mode = 'same' ) * dt

s1 = 1.5 * np.sin( 2 * np.pi * 10 * t) + cnse1

s2 = np.cos(np.pi * t) + cnse2 + np.sin( 2 * np.pi * 10 * t)

plt.plot(t, s1, t, s2)

plt.xlim( 0 , 5 )

plt.ylabel( 's1 and s2' )

plt.grid( True )

plt.show()

plt.csd(s1, s2, 256 , 1. / dt)

plt.ylabel( 'CSD(db)' )

plt.xlabel( 'Frequency' )

plt.title( 'matplotlib.pyplot.csd() function Example'

`` ,fontweight = "bold" )

plt.show()

Output:

python-matplotlib-csd