Add/Remove Pyqtgraph 中 PlotWidget 上的大量绘图

Add/Remove numerous plots on a PlotWidget in Pyqtgraph

我在 pyqt GUI 上有一个来自 pyqtgraph 的 plotWidget (self.widget0)。我想在这个小部件上添加 200 个地块。我能做的就是一个一个地添加每个地块:

self.plot0 = self.widget0.plot(xx0, yy0) 
self.plot1 = self.widget0.plot(xx1, yy1) 
...
self.plot199 = self.widget0.plot(xx199, yy199) 

其中 xx0、xx1... 和 yyo、yy1... 都是绘图的一维 numpy 数组。

对于这种情况,我可以稍后更新指定的地块,但保留所有其他地块,例如,如果我想更新第 100 个地块:

self.widget0.removeItem(self.plot99)
self.plot99 = self.widget0.plot(xx99_new, yy99_new) 

我的问题是将这 200 行添加到 self.plot0、self.plot1、self.plot2、self.plot3 中,...效率低下且困难重重。谁能建议一种使用循环或字典对此进行编码的方法?

一个图的字典就足够了,你想要一个字典,这样当一个元素被删除时,顺序不会丢失:

self.plots = {}
for plot_num in range(200):
    self.plots[plot_num] = self.widget0.plot(xx[plot_num], yy[plot_num])

self.widget0.removeItem(self.plots[99])
self.plots[99] = self.widget0.plot(xx99_new, yy99_new)