Python
 Computer >> コンピューター >  >> プログラミング >> Python

pylabのspecgram()と同じ方法でスペクトログラムをプロットするにはどうすればよいですか? (Matplotlib)


pylabのspecgram()と同じ方法でスペクトログラムをプロットするには、次の手順を実行します-

  • 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。
  • t、s1、s2、nse、x、NEFTを作成 およびFs numpyを使用したデータポイント。
  • subplots()を使用して、新しい図を作成するか、既存の図をアクティブにします nrows =2のメソッド 。
  • プロットt およびx plot()を使用したデータポイント メソッド。
  • 現在の線のスタイルでグリッドをレイアウトします。
  • X軸のマージンを設定します。
  • specgram()を使用してスペクトログラムをプロットします メソッド。
  • 点線の線スタイルとその他のプロパティを使用して、現在の線のスタイルでグリッドをレイアウトします。
  • 図を表示するには、 show()を使用します メソッド。

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

dt = 0.0005
t = np.arange(0.0, 20.0, dt)
s1 = np.sin(2 * np.pi * 100 * t)
s2 = 2 * np.sin(2 * np.pi * 400 * t)
s2[t <= 10] = s2[12 <= t] = 0
nse = 0.01 * np.random.random(size=len(t))
x = s1 + s2 + nse
NFFT = 1024
Fs = int(1.0 / dt)

fig, (ax1, ax2) = plt.subplots(nrows=2)
ax1.plot(t, x)
ax1.grid(axis="x", ls="dotted", lw=2, color="red")
ax1.margins(x=0)

Pxx, freqs, bins, im = ax2.specgram(x, NFFT=NFFT, Fs=Fs, noverlap=900)
ax2.grid(axis="x", ls="dotted", lw=2, color="red")

plt.show()

出力

pylabのspecgram()と同じ方法でスペクトログラムをプロットするにはどうすればよいですか? (Matplotlib)


  1. Matplotlibでログプロットのマイナーティックを無効にする方法は?

    matplotlibのログプロットのマイナーティックを無効にするには、 minorticks_off()を使用できます。 メソッド。 ステップ 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。 numpyを使用してxおよびyデータポイントを作成します。 現在の図のインデックス1にサブプロットを追加します。 xとyのデータポイントをcolor=redでプロットします。 名前でログクラスとしてx-scaleを作成します。 現在のプロットのタイトルを設定します。 現在の図のインデックス2にサブプロットを追加します。 xとyのデータポイントをcolor=gree

  2. LaTex出力と同じフォントをMatplotlib出力で取得するにはどうすればよいですか?

    matplotlibで太字のフォントの太さのLaTeX軸ラベルを作成するには、次の手順を実行できます- xのデータポイントを作成します。 yのデータポイントを作成します。つまり、y =sin(x) 。 LaTex表現を使用して曲線xとyをプロットします。 ラベルをアクティブにするには、 legend()を使用します メソッド。 図を表示するには、 show()を使用します メソッド。 例 import numpy as np from matplotlib import pyplot as plt, font_manager as fm fprop = fm.FontPropertie