Thanks a lot!

I am a but busy these days but as soon as I get some chance I will try it
out and will report!

Trifon

On Fri, Nov 30, 2018 at 3:55 AM Patrick <[email protected]> wrote:

> Hi,
>
> I have some multi-dimensional data which I slice in four plot windows. I
> link the required axes manually by connecting to a signal emitted by a
> ViewBox when its range is changed.
>
> Code snippet below, hopefully will get you on track.
>
> # Link axes of plots
> self.overview.setYLink(self.t1slice)
> self.overview.setXLink(self.t2slice)
> self.t1slice.getViewBox().sigRangeChangedManually.connect(self.
> _link_waxes_t1slice)
> self.t2slice.getViewBox().sigRangeChangedManually.connect(self.
> _link_waxes_t2slice)
> self.spectrum.getViewBox().sigRangeChangedManually.connect(self.
> _link_waxes_spectrum)
>
>
> # Slot functions to react and change range of linked plots
> def _link_waxes_t1slice(self, something):
>     self.t2slice.setYRange(*self.t1slice.getViewBox().viewRange()[0])
>     self.spectrum.setXRange(*self.t1slice.getViewBox().viewRange()[0])
>
>
> def _link_waxes_t2slice(self, something):
>     self.t1slice.setXRange(*self.t2slice.getViewBox().viewRange()[1])
>     self.spectrum.setXRange(*self.t2slice.getViewBox().viewRange()[1])
>
>
> def _link_waxes_spectrum(self, something):
>     self.t1slice.setXRange(*self.spectrum.getViewBox().viewRange()[0])
>     self.t2slice.setYRange(*self.spectrum.getViewBox().viewRange()[0])
>
> Patrick
>
> On Wednesday, 21 November 2018 19:10:10 UTC+10:30, Trifon Trifonov wrote:
>>
>> Dear All,
>>
>> First, sorry for the long post, but I feel you may need some introduction
>> to the problem.
>>
>> I am developing an orbital analysis tool using PyQT5 and pyqtgraph!
>>
>> See:
>> https://github.com/3fon3fonov/trifon
>>
>> My tool has a plotting area with ~15 plots shown in different tab
>> windows, which show different aspects of the data analysis.
>>
>> The tool it self is assembled with the Designer-qt5, while the
>> QGraphicView widgets are promoted to pyqtgraphs's PlotWidgets
>>
>> For example in the gui.py I initialize the plots like this:
>>
>>
>>>     def initialize_plots(self):
>>>
>>>         global p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,pe
>>>
>>>         p1  = self.graphicsView_timeseries_RV
>>>         p2  = self.graphicsView_timeseries_RV_o_c
>>>         p3  = self.graphicsView_timeseries_phot
>>>         p4  = self.graphicsView_timeseries_phot_o_c
>>>         p5  = self.graphicsView_timeseries_activity
>>>         p6  = self.graphicsView_timeseries_correlations
>>>
>>         ....
>>
>>         ....
>>>
>>         pe  = self.graphicsView_extra_plot
>>>
>> .....
>>> .....
>>> etc.
>>>
>>
>> so p1-p6 in this case are different PlotWidget objects on which I add
>> Items/Plot data, i.e.  p1.plot(x,y), p1.addItem(), etc.
>>
>>
>> What I want is to link pe to any of p1-p6!. pe is an extra plot so the
>> user can choose from those already available/created.
>> Thus the user can select which plot he/she wants to see next to the main
>> plot.
>>
>> Lets imagine that the  ComboBox dropdown menu selects between p1-p6
>> objects, so
>>
>> pe = p1, or later:
>> pe = p4
>>
>> for example.
>>
>> Is there any way this to be done with PyQtgraph?
>>
>>
>> I really tried all kind things in the last two weeks and nothing seems to
>> work.
>>
>>
>> I am aware of the
>>
>> pe.setXLink(p1)
>> pe.setYLink(p2)
>>
>> but this only links the axes not the plot object itself. It doesn't work
>> for me.
>>
>>
>>
>>
>> I hope you guys are willing to help!
>>
>>
>> All the best,
>> Trifon
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
> --
> 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/eca2eda3-83cd-41be-a293-148cd371170f%40googlegroups.com
> <https://groups.google.com/d/msgid/pyqtgraph/eca2eda3-83cd-41be-a293-148cd371170f%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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyqtgraph/CAB9SVJ1Cp%3DXukVR3XSFp2x5PKfHXmwppfLLwjaXOnoeof2RCBQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to