Hi Mike,

I would be interested in your solution. I have a similar problem, where I 
want to hide certain values without creating new PlotItems each time. 
Painting them black would also do the job :-)

I will also have a go at it the next time I touch my plotting module.

Cheers,
Jannis

On Friday, 2 February 2018 08:10:37 UTC+1, Mike Oliver wrote:
>
> Thanks Carlos, Ill look into that.
>
> On Wednesday, 31 January 2018 01:40:25 UTC-8, Carlos Pascual wrote:
>>
>> Hi Mike, 
>>
>> With this approach you are creating as many curve objects as segments, 
>> and on 
>> top of that you are doing a for loop on each point of your data so it is 
>> reasonable to expect it to be very inefficient. 
>>
>> Have you considered deriving from pyqtgraph.PlotDataItem and reimplement 
>> its 
>> paint() method to pass a different QPainter depending on the segment 
>> being 
>> painted? 
>>
>> Not sure if that would be the best (or simpler) approach, but it is what 
>> I 
>> would first try... 
>>
>> Cheers, 
>> Carlos 
>>
>>
>>
>>
>> On Wednesday, January 31, 2018 12:37:40 AM CET Mike Oliver wrote: 
>> > So I managed to get this working but its incredibly slow on large data 
>> > sets.  Is there a better way to do this? 
>> > 
>> > from pyqtgraph.Qt import QtGui, QtCore 
>> > import pyqtgraph as pg 
>> > import numpy as np 
>> > 
>> > win = pg.GraphicsWindow() 
>> > p1 = win.addPlot() 
>> > values = [10,50,8,64,45,9,6,12,6,43,3,7,33,67,82,42,12,7,40,8] 
>> > 
>> > for i in range(len(values)-1): 
>> >     if values[i]>values[i+1]: 
>> >         p1.plot([i,i+1],values[i:i+2], pen=(255,0,0)) 
>> >     else: 
>> >         p1.plot([i,i+1],values[i:i+2], pen=(0,255,0)) 
>> > 
>> > if __name__ == '__main__': 
>> >     import sys 
>> >     if (sys.flags.interactive != 1) or not hasattr(QtCore, 
>> 'PYQT_VERSION'): 
>> >         QtGui.QApplication.instance().exec_() 
>>
>>
>> -- 
>> +----------------------------------------------------+ 
>>  Carlos Pascual Izarra 
>>  Scientific Software Coordinator 
>>  Computing Division 
>>  ALBA Synchrotron  [http://www.albasynchrotron.es] 
>>  Carrer de la Llum 2-26 
>>  E-08290 Cerdanyola del Valles (Barcelona), Spain 
>>  E-mail: [email protected] 
>>  Phone: +34 93 592 4428 
>> +----------------------------------------------------+ 
>>
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyqtgraph/443aba9d-431b-415b-91e4-eeff64dc3c91%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to