[Matplotlib-users] Subplot x-axis shared with other subplots y-axis

Benjamin Root ben.v.root at gmail.com
Tue Jun 27 11:08:01 EDT 2017


re: cross-backend way to add buttons: There is experimental feature called
"ToolManager", but I think it is only implemented for a couple of backends
currently. You can see an example here:

http://matplotlib.org/examples/user_interfaces/toolmanager.html

On Fri, Jun 23, 2017 at 12:17 AM, Juan Nunez-Iglesias <jni.soma at gmail.com>
wrote:

> Hey Tom,
>
> Thanks for that response, it was just what I needed! I had a fun infinite
> loop where the x-axis was updating the y-axis which was updating the x-axis
> which... =P But it was easy enough to sort out. =)
>
> I have a working orthogonal slice viewer here:
> https://github.com/jni/mpl-volume-viewer/
>
> The problem I have now is that, if I set a mouse-click callback (this line
> <https://github.com/jni/mpl-volume-viewer/blob/6d863d2a28ced54576c6f4f8905d58e229f02042/slice_view.py#L71>
> and this line
> <https://github.com/jni/mpl-volume-viewer/blob/6d863d2a28ced54576c6f4f8905d58e229f02042/slice_view.py#L101>),
> and then I select any other tool from the toolbar, I get this
> super-obnoxious flickering, recorded here (macOS 10.12, Tk backend):
> https://www.dropbox.com/s/qvfmgp0x36p6rb9/mpl-click-bug.mov?dl=0
>
> To reproduce:
>
> - Download slice_view.py and put it in your PYTHONPATH or current working
> directory
> - Download this example dataset:
> https://www.dropbox.com/s/dj3oarx7bqx4us2/E_z2_512_1um_CONTROL.tif?dl=1
> - Run this code:
>
> *import matplotlib*
> *matplotlib.use('TkAgg')*
>
> *from skimage import io*
> *import slice_view as sv*
>
> *filename = '/path/to/E_z2_512_1um_CONTROL.tif'*
> *image = io.imread(filename) / 4096*
>
> *v = sv.SliceViewer(image, spacing=[5, 1, 1])*
> *matplotlib.pyplot.show(block=True)*
>
> Questions:
> 1) Any ideas about how to fix the flickering?
> 2) Is there a cross-backend way to add buttons to the toolbar? All the
> examples I've found online were backend-specific. (This way I could at
> least disable the callback at will.)
>
> Thanks!
>
> Juan.
>
> On 16 May 2017, 1:43 AM +1000, Thomas Caswell <tcaswell at gmail.com>, wrote:
>
> There are callbacks that fire when the limits are changed.  See
>
> https://matplotlib.org/examples/event_handling/viewlims.html
>
> for an example.
>
> This is probably the best route to go down as you can do other interesting
> things as the event goes by (like triggering computation, updating a openGL
> view window, etc) as well as updating the Matplotlib limits.
>
> Tom
>
> On Mon, May 15, 2017 at 3:29 AM Juan Nunez-Iglesias <jni.soma at gmail.com>
> wrote:
>
>> Hello,
>>
>> I’m trying to build an orthogonal-views volume viewer in Matplotlib like
>> this one:
>> https://imagej.nih.gov/ij/docs/guide/images/OrthogonalViews.png
>>
>> For this to work, I need to share the y-axis of the YZ (right)
>> view/subplot with the x-axis of the XZ (bottom) view/subplot. Is this
>> possible?
>>
>> Juan.
>>
>> _______________________________________________
>> Matplotlib-users mailing list
>> Matplotlib-users at python.org
>> https://mail.python.org/mailman/listinfo/matplotlib-users
>>
>
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users at python.org
> https://mail.python.org/mailman/listinfo/matplotlib-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-users/attachments/20170627/93bea725/attachment.html>


More information about the Matplotlib-users mailing list