I have come across an odd bug in PolarAxes event handling. If one creates a polar axes, then attempts to do a zoom action (is this even allowed?), and then attempts to do a pan (is this even allowed?), errors get thrown. Digging deeper, I noticed that the error being thrown is from “drag_zoom”, which is odd because the current action should be drag_pan. Note that this bug only occurs if a zoom was attempted prior to a pan. Tracing the code execution, I can see that drag_pan does get called before drag_zoom, which leads me to suspect that the callbacks were never disconnected.
I don’t have enough experience in this area to get much further. Can anybody else figure out why the interactive panning and zooming are not working for polar plots? There does appear to be code for that purpose, but nothing happens for either. Maybe it is linked to this bug? Maybe some code point is being skipped that would connect and disconnect the proper callbacks? I am not sure what is going on here. I have attached a really simple script to create a polar plot for others to test this out.
Note: I am using GTKAgg backend.
Steps to reproduce:
- Run script
- Click on zoom button.
- Click anywhere inside the polar plot (dragging is not needed).
- Click on pan button
- Click and drag inside the polar plot.
Ben Root
polar_plot_zoomtest.py (276 Bytes)
Thanks, that seems to do the trick. What is it that one can do anyway
with this pan/zoom mode? All I seem to be able to do is move the
labeling for the radial distance.
Thanks,
Ben
···
On Monday, November 8, 2010, Michael Droettboom <mdroe@...31...> wrote:
Should be fixed in r8778, r8779.
Mike
On 11/08/2010 11:13 AM, Michael Droettboom wrote:
On 11/08/2010 10:34 AM, Benjamin Root wrote:
I have come across an odd bug in PolarAxes event
handling. If one creates a polar axes, then attempts to do a
zoom action (is this even allowed?), and then attempts to do a
pan (is this even allowed?), errors get thrown.
Rubber-band zooming is not allowed, but panning is. Panning mode
allows for zooming (sounds counter-intuitive in English, but it
makes more sense in the interface that way). That mode also
allows for dragging the r-labels.
Digging deeper, I noticed that the error being
thrown is from "drag_zoom", which is odd because the current
action should be drag_pan. Note that this bug only occurs if a
zoom was attempted prior to a pan. Tracing the code execution,
I can see that drag_pan does get called before drag_zoom, which
leads me to suspect that the callbacks were never disconnected.
Quite possibly. I wrote the polar panning code -- but never
tested this interaction with rubber-band zooming, because the
latter isn't supposed to do anything anyway.
I don't have enough experience in this area to get much
further. Can anybody else figure out why the interactive
panning and zooming are not working for polar plots? There does
appear to be code for that purpose, but nothing happens for
either. Maybe it is linked to this bug? Maybe some code point
is being skipped that would connect and disconnect the proper
callbacks? I am not sure what is going on here. I have
attached a really simple script to create a polar plot for
others to test this out.
I was able to confirm this and will look into it further.
Cheers,
Mike
Note: I am using GTKAgg backend.
Steps to reproduce:
1. Run script
2. Click on zoom button.
3. Click anywhere inside the polar plot (dragging is not
needed).
4. Click on pan button
5. Click and drag inside the polar plot.
Ben Root
------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a
Billion" shares his insights and actions to help propel your
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options
------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a
Billion" shares his insights and actions to help propel your
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options
Right mouse button zooms the radial axis, analogously to how the right mouse button zooms axes in a rectilinear plot.
Mike
···
On 11/08/2010 09:38 PM, Benjamin Root wrote:
Thanks, that seems to do the trick. What is it that one can do anyway
with this pan/zoom mode? All I seem to be able to do is move the
labeling for the radial distance.