python matplotlib 图上 x 轴上的起始值不匹配

Mismatched start values on x-axis on python matplotlib plot

我正在尝试在读取波形文件后绘制选定数量的样本。我写了下面的代码来实现:

import numpy as np
import matplotlib.pyplot as plt
from scipy.io.wavfile import read

(fs, x) = read('/home/sk_he/sounds/sample.wav')

M = 501
start_time = 0.2
start_sample = int(start_time * fs)
stop_sample = int(start_time * fs) + M
x1 = x[start_sample:stop_sample]
stop_time = float(stop_sample/fs)
tx1 = np.linspace(start_time, stop_time, M)
plt.plot(tx1, x1)

这给了我以下输出:

虽然这很好,但我打算指示从 0.2 秒到 M 样本结束的任何时间的时间。我也已将 startstop 值正确地赋给了 linspace。但该图的第一个值仍然是 0.0 而不是 0.2。如何修复上述代码中的这个错误,使其在 x 轴上正确地从 0.2 而不是 0.0 开始?

问题出在类型转换完成的地方。我修改了代码,它按预期显示了输出:

start_time = 0.2
start_sample = start_time * fs
stop_sample = (start_time * fs) + M
x1 = x[int(start_sample):int(stop_sample)]
stop_time = float(stop_sample/fs)
tx1 = np.linspace(start_time, stop_time, M)

下图是正确的预期输出: