Найти - Пользователи
Полная версия: pyqtgraph как работает setData
Начало » Python для новичков » pyqtgraph как работает setData
1
Gorg
Здравствуйте, проясните пожалуйста как работает метод setData?
например есть такой tuple: x_data, y_data соответственно график отрисовывается нормально. В некоторый момент мне нужно обновить только последнюю точку и я выполняю setData([0.1, 0.1, 0.2, 0.1, 0.8]), по наблюдениям метод сам находит и обновляет эту точку, или он их все-таки заменяет? И отсюда еще вопрос: можно ли как-то сделать фиксированное число точек? Если добавляется новая, то самая первая точка удаляется. Спасибо, извините за два вопроса в одном топе
py.user.next
Gorg
как работает метод setData?
https://pyqtgraph.readthedocs.io/en/latest/api_reference/graphicsItems/plotdataitem.html#pyqtgraph.PlotDataItem.setData
Clear any data displayed by this item and display new data. See __init__() for details; it accepts the same arguments.

Исходный код метода .setData()
https://pyqtgraph.readthedocs.io/en/latest/_modules/pyqtgraph/graphicsItems/PlotDataItem.html#PlotDataItem.setData

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]
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB