Маркировка значений временной оси с использованием pyplot - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь построить выбранное количество сэмплов после прочтения волнового файла. Для этого я написал следующий код:

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)

Это дает мне следующий вывод: Plot

Хотя это нормально, я намеревался указать время от 0,2 с до любого времени, когда M заканчивается выборка. Я также дал значения start и stop правильно для linspace. Но у графика все еще есть первое значение как 0.0 вместо 0.2. Как мне начать с 0.2 вместо 0.0?

1 Ответ

0 голосов
/ 18 мая 2019

Проблема заключается в том, где выполняется приведение типов. Я изменил код, и он отображает вывод, как и предполагалось:

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)

На следующем графике указаны правильные ожидаемые результаты:

CorrectPlot

...