wikimedia / limn

A GUI Visualization Toolkit
MIT License
62 stars 18 forks source link

Make X-zoom the default #76

Open adamwight opened 11 years ago

adamwight commented 11 years ago

Providing a box zoom is an advanced and mostly aggravating feature. In most cases the correct default is to zoom on the X-axis, and auto-range the Y-axis. Giving control over the Y-zoom is almost too powerful. My recommendation is to respond to user onMouseDrag input in a differential way: a) Drag endpoints are mostly separated in the X direction -> Draw a zoom line, and when performing the zoom, auto-range Y. b) Drag endpoints have some Y separation -> Draw the zoom box, and do a box zoom.

''Rambling'' We could also have a Y-only zoom, if the drag points are vertical.

There should also be a way to make slight corrections to the zoom factors, without screwing up a nice graph.

The escape key, and stuff, should abort any UI interaction.

milimetric commented 11 years ago

We're using d3 and that's made the zoom brush approach a bit less flexible than you would think. The fine grained conotrol you're talking about is there in canvas-based libraries but dealing with SVG libraries like d3 is a bit higher level. Thanks for your comments.