Source code for figrecipe._dev.demo_plotters.spectral_signal.plot_specgram

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""specgram: spectrogram demo."""

import numpy as np


[docs] def plot_specgram(plt, rng, ax=None): """Spectrogram demo. Demonstrates: ax.specgram() """ if ax is None: fig, ax = plt.subplots() else: fig = ax.get_figure() if hasattr(ax, "get_figure") else ax.fig # Create signal with varying frequency fs = 1000 t = np.linspace(0, 2, 2000) freq = 50 + 50 * t # Chirp signal signal = np.sin(2 * np.pi * freq * t) result = ax.specgram(signal, Fs=fs, id="specgram") # specgram returns (spectrum, freqs, t, im) - need im for colorbar im = result[-1] if isinstance(result, tuple) else result ax.set_xlabel("Time") ax.set_ylabel("Frequency") ax.set_title("specgram") from figrecipe._utils._colorbar import add_colorbar add_colorbar(fig, im, ax=ax) return fig, ax
# EOF