需要帮助绘制正弦曲线的 x 轴

Need help graphing the x axis of a sinusoid

'我正在尝试绘制一个简单的正弦波图,我知道怎么做,但我总是得到错误的 x 轴值。信号的频率为 1000 赫兹,所以我应该看到每秒 1000 个周期,但事实并非如此,我不确定如何让它工作。这是我拥有的:

import numpy as np
import matplotlib.pyplot as plt

f = 1000
A = 5
t = np.linspace (0,100,100)
w = 2 * np.pi * f

signal = A * np.sin (w*t)

plt.figure ()
plt.plot (t,signal)
plt.show()

考虑到 x 轴以秒为单位,它没有显示正确的循环数。给定 1000 Hz,我如何才能正确显示正确的每秒循环数?

我认为问题只是时间轴的比例问题。 t = np.linspace (0,100,100) 为您提供一个 100 元素的数组,范围从 0-100(参见 the doc),因此这不是绘制 1 kHz 数据的理想分辨率。如果您为时间选择另一个范围和分辨率,它会工作正常:

import numpy as np
import matplotlib.pyplot as plt

f = 1000
A = 5
t = np.linspace(0, 0.01, num=1000) # unit of t is seconds
w = 2 * np.pi * f
signal = A * np.sin(w*t)

plt.plot(t, signal)
plt.xlabel('time[s]')
plt.ylabel('amplitude')
plt.show()

给我 ...这是 0.01 秒内的 10 个周期 == 1 kHz。