|
From: Ethan M. <merritt@u.washington.edu> - 2008-06-05 16:52:23
|
On Thursday 05 June 2008 12:12:54 am Petr Mikulik wrote: > > The 'l' was one of the hotkeys firstly implemented; it switches the log > scale of what axis the user expects and uses most frequently. "what the user expects" clearly must depend on the user :-) This user expects the key to work on the cb mapping, regardless of the current Z range. Since we are viewing in projection, why should the Z range matter? > It is documented in the help screen, hotkey "h": > l `builtin-toggle-log` y logscale for plots, z logscale for splots > You are right there should be > l `builtin-toggle-log` y logscale for plots, z and cb for splots > I've just fixed it. > I would like to ask you to switch the 'l' behaviour to the traditional one. The traditional case assumed that z=cb. This is no longer true. We must decide how to extend, adapt, or change things to handle the current capabilities of the program. Why should the hotkey act differently depending on whether you drew the graph with "plot" or "splot"? Since you can now use palette and other coloring options in both 2D and 3D, this seem to me an artificial distinction. Users who run a script written elsewhere may not even know whether the plot they are looking at on the screen was created by 'plot' or 'splot'. They shouldn't have to; the hotkeys should behave consistently for both cases. There are at least 2 other problems: 1) 2D plots can now use palette colors. I don't think it is reasonable to have 'l' toggle y some times and z+cb at other times, depending on which coloring schemes are in use for the current plot. 2) 2D plots created either with 'plot' or 'splot' may have a positive range on cb, but not on z. If 'l' tries to toggle log-scale on z it will fail, even though it wouldn't have affected the appearance of the plot anyhow. Better it should only try to toggle cb. Would it be compatible with your previous usage to toggle cb only? I imagine your old plots have z=cb, and in projection you cannot see z. Alternatively, suppose we change it so that 'l' always tries to toggle z+cb . What should happen if the z range goes negative? Should it toggle cb only, and give an error message? No error message? Not do anything? If 'l' toggles cb (with or without z) in 2D, how is the user supposed to toggle y instead? |