The following code generates a spectrogram using either scipy.signal.spectrogram
or matplotlib.pyplot.specgram
.
The color contrast of the
plt.specgram
not only returns Pxx
, f
, t
, but also does the plotting for you automatically. When plotting, plt.specgram
plots 10*np.log10(Pxx)
instead of Pxx
.
However, signal.spectrogram
only returns Pxx
, f
, t
. It does not do plotting at all. That is why you used plt.pcolormesh(t, f[0:20], Sxx[0:20])
. You may want to plot 10*np.log10(Sxx)
.