From: Gary R. <ga...@em...> - 2003-11-16 02:52:52
|
My thoughts on navigation: How about a button that toggles between 1x, 2x, 4x which affects the scaling factor of all zoom and pan buttons? I think a combination of this, a 'fit to full data' button and a rectangle zoom tool would be most intuitive to me. I think the zoom in and out should default to affecting both axes equally and have zooming axes indepedently as a special case. If you implement a zoom rectangle, there should be a way of locking its width-height ratio to be the same as the current display, perhaps by holding CTRL down. I think it's important to always have an easy way of zooming out to show the full plot, so if you implement your saved view idea and don't want to add a 'fit to full data' button, I think having a 'fit to full data' checkpoint automatically added is important. It might be even be worth looking into cacheing the full view to speed its rendering. That way, you could quickly navigate by zooming to full and then using a rectangle zoom to your area of interest. Gary -- __________________________________________________________ Sign-up for your own personalized E-mail at Mail.com http://www.mail.com/?sr=signup Search Smarter - get the new eXact Search Bar for free! http://www.exactsearchbar.com/ |
From: Gary R. <ga...@em...> - 2003-11-17 14:28:35
|
Sounds awesomely powerful - not since the development of John Harrison's clocks will navigation have taken such a great step forward :-) ----- Original Message ----- From: John Hunter <jdh...@ac...> Date: Sun, 16 Nov 2003 07:50:53 -0600 To: "Gary Ruben" <ga...@em...> Subject: Re: [Matplotlib-users] Navigation toolbar redraw button > >>>>> "Gary" == Gary Ruben <ga...@em...> writes: > > Gary> I think it's important to always have an easy way of zooming > Gary> out to show the full plot, so if you implement your saved > Gary> view idea and don't want to add a 'fit to full data' button, > Gary> I think having a 'fit to full data' checkpoint automatically > Gary> added is important. It might be even be worth looking into > Gary> cacheing the full view to speed its rendering. That way, you > Gary> could quickly navigate by zooming to full and then using a > Gary> rectangle zoom to your area of interest. > > Combining my original thoughts with yours and Charles, then. How > about the following? Allow the user to select the old style toolbar > from a config file, but the new toolbar would > > 1) lose all the left, right, up down buttons, in favor of a single > 'hand' icon that allows you to move the view limits by 'grabbing > them in the axes and moving them around. With x or y key pressed > the pan motion will be contained to the respective axis. The > mouse button which activates this in the axes should be easily > configurable so as to not class with application developers. > > 2) have a zoom in and zoom out button that work on both axis > symmetrically unless the 'x' or 'y' modifier keys are pressed in > which case work only on that axis. Allow similar functionality > with the mouse in the axes, eg wheel mouse, as Charles suggested > or mouse-3 as vtk interactor windows use. Then you could pan and > zoom in an axes without ever removing your mouse from the axes > lim. > > 3) have a zoom rectangle tool that allows you to zoom to a selected > rectangle, constrained to maintain axis ratio if CTRL is pressed > > 4) have a zoom to data button that changes viewlim to incorporate > entire dataset > > 5) use the 'views' navigation with forward / mark / and back buttons > that allows you to navigate between views > > 6) lose the redraw button, obsolete > > 7) have a savefig button which allows you to set the dpi, filename > and backend, so you can output with ps, gd, or gtk backend > > 8) close window unchanged. > > Further comments? > > JDH -- __________________________________________________________ Sign-up for your own personalized E-mail at Mail.com http://www.mail.com/?sr=signup Search Smarter - get the new eXact Search Bar for free! http://www.exactsearchbar.com/ |
From: John H. <jdh...@ac...> - 2003-11-16 13:56:23
|
>>>>> "Gary" == Gary Ruben <ga...@em...> writes: Gary> I think it's important to always have an easy way of zooming Gary> out to show the full plot, so if you implement your saved Gary> view idea and don't want to add a 'fit to full data' button, Gary> I think having a 'fit to full data' checkpoint automatically Gary> added is important. It might be even be worth looking into Gary> cacheing the full view to speed its rendering. That way, you Gary> could quickly navigate by zooming to full and then using a Gary> rectangle zoom to your area of interest. Combining my original thoughts with yours and Charles, then. How about the following? Allow the user to select the old style toolbar from a config file, but the new toolbar would 1) lose all the left, right, up down buttons, in favor of a single 'hand' icon that allows you to move the view limits by 'grabbing them in the axes and moving them around. With x or y key pressed the pan motion will be contained to the respective axis. The mouse button which activates this in the axes should be easily configurable so as to not class with application developers. 2) have a zoom in and zoom out button that work on both axis symmetrically unless the 'x' or 'y' modifier keys are pressed in which case work only on that axis. Allow similar functionality with the mouse in the axes, eg wheel mouse, as Charles suggested or mouse-3 as vtk interactor windows use. Then you could pan and zoom in an axes without ever removing your mouse from the axes lim. 3) have a zoom rectangle tool that allows you to zoom to a selected rectangle, constrained to maintain axis ratio if CTRL is pressed 4) have a zoom to data button that changes viewlim to incorporate entire dataset 5) use the 'views' navigation with forward / mark / and back buttons that allows you to navigate between views 6) lose the redraw button, obsolete 7) have a savefig button which allows you to set the dpi, filename and backend, so you can output with ps, gd, or gtk backend 8) close window unchanged. Further comments? JDH |
From: Charles R. T. <cha...@in...> - 2003-11-19 08:55:07
|
Hi John, New navbar sounds good, esp. replacing arrows with hand. Default to hand mode (maybe even revert after completing an operation with other modes). I'm not so happy with all the modifier keys. I'd have one modifier key, Shift, that constrains the motion, and everything be drag-based: * In pan mode, Shift drag restricts motion to whichever the principle mouse direction is. I can keep it within 45 degrees myself, and this allows me to easily change x, then y. * In zoom mode, Shift drag zooms along principle mouse direction. Otherwise zooms as radial distance of drag. Mousewheel zoom zooms both axes. * Zoom rectangle: Shift-drag maintains axis ratio in drawing the rectangle. I might even suggest replacing the "pan" and "zoom" buttons by just using left-click and right-click for the drag. That way I can change tasks without mousing around. Zoom-rectangle could even be middle-click. -Charles -- Charles R. Twardy www.csse.monash.edu.au/~ctwardy Monash University sarbayes.org Computer Sci. & Software Eng. +61(3) 9905 5823 (w) 5146 (fax) |
From: John H. <jdh...@ac...> - 2003-11-19 14:02:09
|
>>>>> "Charles" == Charles R Twardy <cha...@in...> writes: Charles> I might even suggest replacing the "pan" and "zoom" Charles> buttons by just using left-click and right-click for the Charles> drag. That way I can change tasks without mousing Charles> around. Zoom-rectangle could even be middle-click. This is the way VTK does it and it is great. All three mouse buttons are used for pan, zoom and rotate. The only problem is for application developers using matplotlib, who will probably want to reserve some of the mouse buttons over figures for context menus or measurement tools, etc... I have done both in my applications. Its possible to do both via different toolbars, but there are only so many hours in the day. I'll let it simmer. JDH |