Форум сайта python.su
Здравствуйте, проясните пожалуйста как работает метод setData?
например есть такой tuple: x_data, y_data соответственно график отрисовывается нормально. В некоторый момент мне нужно обновить только последнюю точку и я выполняю setData([0.1, 0.1, 0.2, 0.1, 0.8]), по наблюдениям метод сам находит и обновляет эту точку, или он их все-таки заменяет? И отсюда еще вопрос: можно ли как-то сделать фиксированное число точек? Если добавляется новая, то самая первая точка удаляется. Спасибо, извините за два вопроса в одном топе
Офлайн
Gorghttps://pyqtgraph.readthedocs.io/en/latest/api_reference/graphicsItems/plotdataitem.html#pyqtgraph.PlotDataItem.setData
как работает метод setData?
Clear any data displayed by this item and display new data. See __init__() for details; it accepts the same arguments.
GorgПерерисовывай весь график. При этом в метод .setData() нужно передавать только списки по их именам, а вот чтобы менять точки, тебе надо работать с этими списками. Тогда ты сможешь и обновлять последнюю точку, и сделать фиксированное число точек.
В некоторый момент мне нужно обновить только последнюю точку
Gorg
Если добавляется новая, то самая первая точка удаляется.
>>> lst = [1, 2, 3, 4, 5] >>> >>> lst.pop(0) 1 >>> lst.append(6) >>> >>> lst [2, 3, 4, 5, 6] >>>
>>> lst = [1, 2, 3, 4, 5] >>> >>> def add_point_fixed(lst, point): ... lst.pop(0) ... lst.append(point) ... return lst ... >>> add_point_fixed(lst, 6) [2, 3, 4, 5, 6] >>> add_point_fixed(lst, 7) [3, 4, 5, 6, 7] >>> add_point_fixed(lst, 8) [4, 5, 6, 7, 8] >>>
Отредактировано py.user.next (Ноя. 20, 2022 22:18:03)
Офлайн