Я создаю несколько графиков с использованием последовательных данных. Я разделяю последовательные данные с помощью функции split () и присваиваю все и каждый данные различным переменным с помощью этого кода. Это работает нормально. Но иногда при запуске программыполученные данные от последовательного порта меньше в цифрах. Это создает ошибку индекса. Как я могу сказать моему коду ждать всех данных последовательного порта. Например, число данных, отправляемых с последовательного порта, равно шесть.подождите, пока все шесть данных не будут получены. И используя эти данные, я строю различные графики в цикле. Мне нужно сохранить каждый график под другим именем.
Я использую Python 3.5, Matplotlib для graph.i пытались сохранить один граф.
import matplotlib.pyplot as plt
import numpy as np
import time
import serial
plt.ion()
s = serial.Serial('/dev/ttyACM0', 9600)
def graph():
ser = s.readline()
i = ser.split()
q = (int(i[0]))
w = (int(i[1]))
e = (int(i[2]))
r = (int(i[3]))
t = (int(i[4]))
u = (int(i[5]))
print(q,w,e,r,t,u)
print(i)
y =(q,w,e,r,t,u)
x=(1,2,3,4,5,6)
plt.ylabel("pressure(psi)")
plt.xlabel('Number of Sensors')
plt.plot(x,y)
plt.draw()
plt.savefig('books_read.png')
plt.pause(1)
plt.clf()
while True:
graph()
Я ожидаю, что программа должна ждать всех данных в первый раз. Исохранить каждый график.