Я читаю последовательный порт и записываю данные в файлы за каждый определенный период времени. После всей обработки у меня есть метка времени (пример 14: 2: 2) и значение (пример 12,3) в моей руке. мне нужно нанести на график временную отметку, значение на графике и обновить его одновременно как данные в соответствии с тем, что записывается в файлы с помощью другого сценария.
это работает, но по мере роста выборок графикстановится неуклюжим (разница в тиках уменьшается). Как я могу сделать обновление по осям X и Y по мере поступления данных?
Я новичок в Matplotlib и пробовал этот код в Windows с Python 3.6 и работает для малых данных по осям X и Y.
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
plt.tight_layout()
def plotDataOf(i,file):
totalLines = open(file,"r").read()
lines = totalLines.split('\n')
xlist = []
ylist = []
for line in lines:
if len(line)>1:
x,y = line.split(',')
xlist.append(x)
ylist.append(y)
ax1.clear()
ax1.grid()
ax1.plot(xlist,ylist)
plt.xticks(rotation=45, ha='right')
plt.title(file.split('.')[0])
plt.ylabel('Data')
ani=animation.FuncAnimation(fig, plotDataOf,fargs=[userFile], interval=1000)
plt.show()
Я ожидаю, что ось x и ось y растут в соответствии с данными в файле, не становясь безобразными на графике.