Я создал gui, который может включать или выключать живые данные. Когда я переключаю данные в информации, они появляются точно так, как ожидалось, но когда я пытаюсь отключить их, генерируемые данные остаются и не исчезают, как я ожидал. Мой код выглядит следующим образом, любая помощь очень ценится!
if clap1.get()==1:
data1 = pd.read_csv('test1.csv')
x1=data1['x_value']
y1=data1['total_1']
global line1
#xlim_low, xlim_high = sensor_graph.get_xlim()
#ylim_low, ylim_high = sensor_graph.get_ylim()
if x1.max() > 20000:
xlim_low = x1.max()-20000
else:
xlim_low, xlim_high = sensor_graph.get_xlim()
sensor_graph.set_xlim(xlim_low, (x1.max() + 5))
line1, = sensor_graph.plot(x1, y1, label="Test 1", color='black')
checks[0] = 1
elif clap1.get()==0 and checks[0]==1:
sensor_graph.lines.remove(line1)
checks[0] = 0
Я думаю, что следует отметить, что для данных stati c это может правильно удалить данные, проблема возникла, когда я пытался для реальных данных.
Обновление
Хорошо, так что в итоге я получил отклик грубой силы, который в конечном итоге делает то, что я хотел. По сути, я просто очищаю все от фигуры, а затем заново инициализирую оси, как показано ниже. Если у кого-то есть идеи, как это улучшить, пожалуйста, не стесняйтесь!
if clap1.get()==1:
data1 = pd.read_csv('test1.csv')
x1=data1['x_value']
y1=data1['total_1']
global line1
xlim_low, xlim_high = sensor_graph.get_xlim()
#ylim_low, ylim_high = sensor_graph.get_ylim()
'''
if x1.max() > 20000:
xlim_low = x1.max()-20000
else:
xlim_low, xlim_high = sensor_graph.get_xlim()
'''
sensor_graph.set_xlim(xlim_low, (x1.max() + 5))
line1, = sensor_graph.plot(x1, y1, label="Test 1", color='orange')
checks[0] = 1
elif clap1.get()==0 and checks[0]==1:
sensor_graph.clear()
title = "Sensor Pressure Readings"
sensor_graph.set_title(title)
sensor_graph.set_xlabel('time (s)')
checks[0] = 0
[Код с комментариями предназначен только для того, чтобы в любой момент времени отображать на экране столько информации]