Matplotlib.axes.Axes.csd() in Python (original) (raw)

Last Updated : 13 Apr, 2020

Matplotlib is a library in Python and it is numerical - mathematical extension for NumPy library. The Axes Class contains most of the figure elements: Axis, Tick, Line2D, Text, Polygon, etc., and sets the coordinate system. And the instances of Axes supports callbacks through a callbacks attribute.

matplotlib.axes.Axes.csd() Function

The Axes.csd() function in axes module of matplotlib library is used to plot the cross-spectral density.

Syntax: Axes.csd(self, 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:

Below examples illustrate the matplotlib.axes.Axes.csd() function in matplotlib.axes:Example-1:

Python3 `

Implementation of matplotlib function

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

fig, ax1 = plt.subplots() ax1.csd(s1, s2**2, 128, 1./dt) ax1.set_xlabel('Frequency') ax1.set_ylabel('CSD(db)')

ax1.set_title('matplotlib.axes.Axes.csd() Example') plt.show()

`

Output: Example-2:

Python3 `

Implementation of matplotlib function

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)

fig, [ax1, ax2] = plt.subplots(2, 1) ax1.plot(t, s1, t, s2) ax1.set_xlim(0, 5) ax1.set_ylabel('s1 and s2') ax1.grid(True)

ax2.csd(s1, s2, 256, 1./dt) ax2.set_ylabel('CSD(db)') ax2.set_xlabel('Frequency')

ax1.set_title('matplotlib.axes.Axes.csd() Example') plt.show()

`

Output: