Как найти значение y для следующих пиков - PullRequest
0 голосов
/ 20 мая 2019
import numpy as np
import matplotlib.pyplot as plt
from scipy.misc import electrocardiogram
from scipy.signal import find_peaks
x = electrocardiogram()[2000:4000]
peaks, _ = find_peaks(x, height=1)
plt.plot(x)
plt.plot(peaks, x[peaks], "x")
plt.plot(np.zeros_like(x), "--", color="gray")
print(peaks)
plt.show()

В следующей программе пики рассчитываются через scipy, но когда я печатаю значения пиков, единственные значения, которые появляются, находятся вдоль оси x ... Есть ли способ напечатать значения пиковвдоль оси x и оси y, чтобы информация была полной в координатах (x, y) .. ??

1 Ответ

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

Вы можете использовать

import numpy as np
import matplotlib.pyplot as plt
from scipy.misc import electrocardiogram
from scipy.signal import find_peaks
x = electrocardiogram()[2000:4000]
peaks, _ = find_peaks(x, height=1)
plt.plot(x)
plt.plot(peaks, x[peaks], "x")
plt.plot(np.zeros_like(x), "--", color="gray")
print( [(i,j) for i, j in zip(peaks, x[peaks] )] )  # To print x and corresponding peak at x
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...