From: John H. <jdh...@ac...> - 2003-11-14 12:59:14
|
>>>>> "Steve" == Steve Chaplin <ste...@ya...> writes: Steve> What is the "Redraw the figure" Navigation toolbar button Steve> used for? When I press it nothing (visible) happens. I Steve> guess it may be for redrawing the figure (as it says!), but Steve> thats not needed since (in GTK+) you setup an expose event Steve> which redraws the window automatically when required. In earlier versions of matplotlib, the screen could get in an inconsistent state following a pan or zoom (some residual effects of ticklabels not properly erased, etc...). That has all been cured, thankfully, and the redraw tool is a vestigial organ. Slated for destruction. Steve> It would be nice to have a button to redraw the figure AND Steve> undo any zooming and panning you may have done. Which Steve> commands would I need to call to do that? I've been planning on making some changes to the toolbar. How would you feel about a 'save excursion / restore excursion'? As you navigate through, you could click 'save excursion' and continue navigating. At any point, when you click restore excursion it would return you to the save point, or the original view if none clicked, Ideally, you could click save excursion multiple times, and repeated restores would step you back trough those points, to the beginning. This is easy to implement. Alternatively, there could be three buttons: back view, mark view, and forward view, and as you navigate you could mark as many views as you want, and then use forward and back to go between them. Eg, for the stock_demo, where I have 60 days of stock prices for IBM and Apple, you could mark several days or hours in that whole 60 days, and then use the forward and back tools to switch between them. If nothing is marked, back would simply revert you to the original view. I think this latter scheme sounds more useful, but potentially adds too many buttons. Other tools I've been considering -- add a key modifier to the pan tool so CTRL pans an entire view. Again, suppose for the stock demo you had 1 day in the view, with ticks every hour. Use pan right to pan hour by hour and CTRL-right to pan day by day -- add a key modifier so a zoom affects both axes, eg, SHIFT-zoom zooms both x and y -- add a rectangle zoom tool, so you can select a rectangular region with your mouse and set that to be the x and y view limits. The primary application I use matplotlib in is an EEG viewer, so I have a lot of navigation requirements. If anyone has any special navigation requests, weigh in, because I'll probably try and get some or all of these features before the next major (0.4x) release early next month. JDH |