Я новый python разработчик, я пытаюсь построить записанный сигнал ЭКГ (5 мин) в реальном времени, как показано на изображении ниже. проблема в том, что процесс построения занимает очень много времени. основная идея, которую я использовал, основана на рисовании линии между последней и следующей точкой входного сигнала (последний и новый списки). Проблема в том, что для построения 1 секунды входного сигнала требуется более 10 секунд. Я пробовал использовать серверную часть diff, такую как PyQt5 или WXAgg, но это все равно занимает много времени. Есть ли какое-нибудь решение, чтобы ускорить процесс построения графика даже не в реальном времени?
Мой код:
example_dir = 'E:/EEG_ECG/EEG_ECG_signal/190717C-CEX_0003.csv'
signal_input = np.loadtxt(example_dir)
#sample rate of the input ECG signal
fs = 256
formatter = matplotlib.ticker.FuncFormatter(lambda ms, x: time.strftime('%M:%S', time.gmtime(ms / fs)))
fig, axs = plt.subplots()
#plt.plot(signal_input)
axs.set_xlabel('Time')
axs.set_ylabel('Amplitude')
axs.grid(True)
axs.set_title('the original signal')
axs.xaxis.set_major_formatter(formatter)
plt.ion()
plt.show()
x = 0
last = [0, 0]
for i in range(0,len(signal_input)):
# plotting the ECG signal point
v = signal_input[x]
x += 1
new = [i,v]
x_value = [last[0],new[0]]
y_value = [last[1],new[1]]
plt.plot(x_value, y_value, color='#000000')
# saving the coord of the point to be used to plot the next point
last = [i,v]
plt.pause(0.000001)