It's a bug! Would you mind opening a new issue on github? Here's a workaround:

## Advertising

curve.scatter.updateSpots() curve.scene().update() On Wed, Jan 11, 2017 at 5:23 PM, Mark <mmenin...@gmail.com> wrote: > Hi Luke - > > Thanks for all your work in pyqtgraph. > I'm using 0.10.0 with PyQT 5.7 on Windows 7. > > I have built a scrolling chart that loads data from a pandas dataframe > that is populated from another process. It creates PlotDataItems with 500 > data points each. Then applies np.empty() to the numpy array it and loads > it again with new data, etc. > > I have found that when I add a 'symbol' argument to the plot() method (see > below), the previous PlotDataItems do not get shifted left during the shift > process. However, the current PlotDataItem shifts to the left, correctly, > in this situation. (See the attached screenshot: > 'top_symbol_curve_does_not_shift_left.PNG' > - you'll note lime green lines at the left of the screenshot where the top > symbol-based plotdataitems get out of sync with the 'white line' > plotdataitem. > > However, when I take out the symbol argument, the second line scrolls to > the left perfectly (as you probably know - this a modification from one of > your samples). See 'both_curves_shift_left.PNG' screenshot for how this > works correctly. > > > <SNIPPET> > > > for index,row in pandas_df.iterrows(): > move_value = move_position(0.15) # THIS IS A CALL TO A > FUNCTION THAT GENERATES AN INCREMENTED VALUE INSTEAD OF USING NOW() > TIMESTAMP > shift = (move_value * -1) > > for c in curves: > c.setPos(shift, 0) # moves the curve > > for c2 in curves2: > c2.setPos(shift,0) > > > i = ptr5 % 500 > if i==0: > curve = p5.plot() > curves.append(curve) > curve2 = p5.plot(pen=(32,178,170)) #<- WORKS FINE > #curve2 = p5.plot(pen=None,symbol='d', > symbolBrush=(32,178,170)) <- ONLY THE CURRENT PLOTDATA ITEM SHIFTS. > PREVIOUS ONES DO NOT > curves2.append(curve2) > > last = data5[-1] #return last item in the list > last2 = pyqt_dot_np[-1] > > data5 = np.empty([501,2]) #Return a new array of given > shape and type, without initializing entries. > pyqt_dot_np = np.empty([501,2]) > > data5[0] = last > pyqt_dot_np[0] = last2 > > else: > curve = curves[-1] #return last item in the list > curve2 = curves2[-1] > > vb = curve.getViewBox() > xrange = vb.viewRange()[0] > > > data5[i+1,0] = move_value > pyqt_dot_np[i+1,0] = move_value > data5[i+1,1] = row['Zscores'] # 2-D array - y values > curve.setData(x=data5[:i+2, 0], y=data5[:i+2, 1]) > pyqt_dot_np[i+1,1] = row['Zscores'] + 0.5 > curve2.setData(x=pyqt_dot_np[:i+2, 0], y=pyqt_dot_np[:i+2, 1]) > > </SNIPPET> > > Is this a bug? > Do I need to do something differently to scroll previously added symbol > objects. > > Thanks kindly, > Mark > > -- > You received this message because you are subscribed to the Google Groups > "pyqtgraph" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to pyqtgraph+unsubscr...@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/pyqtgraph/165f6a48-5606-4bfd-b2e1-5c548c53012f%40googlegroups.com > <https://groups.google.com/d/msgid/pyqtgraph/165f6a48-5606-4bfd-b2e1-5c548c53012f%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "pyqtgraph" group. To unsubscribe from this group and stop receiving emails from it, send an email to pyqtgraph+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/pyqtgraph/CACZXET-r%3DVk%3D5ZAy3YPTxVzOcqqDUh5wZHq97Y%2BZA_3sMtuG5g%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.