|
From: James R. V. Z. <jr...@co...> - 2005-05-22 02:17:34
|
Hans-Bernhard Broeker <br...@ph...> wrote: >> How hard do you think it would be to start/end the axis >> on a minitic rather than a major tic if too large a >> fraction of the range is wasted? > > Starting the axis on a minitic is IMHO not the right solution. > Lifting the limitation that in log axes only at integer powers of > the base can currently be major tics is what really needs tackling. > While at it, other axis re-mappings than pow()/log() should be made > possible. > > Unfortunately, that'd end up in having to essentially re-write the > entire autoticking stuff from scratch. James Van Zandt made a > proposal for that a long time ago, but it never made it into serious > discussion, let alone the CVS code. I worked out a pretty good algorithm for selecting major and minor tic locations for axes transformed by any continuous and either strictly increasing or strictly decreasing function, such that: - tic labels are "simple" - tic labels do not overlap - the distances between tics are roughly equal - the numeric value corresponding to any minitic is unambiguous - the distances between minitics are roughly equal, and small enough that the numeric value of any point can be estimated by eye. You can find standalone demo code and a couple of example plots at http://jrv.oddones.org. I need help integrating this into gnuplot - e.g. - choosing command syntax for declaring a transformed axis - command parsing - evaluating the transformation function for chosen points - displaying both major and minor tics at arbitrary locations (I found the user could choose locations for major tics but not minor tics) - maintaining the current log axis algorithm in parallel, and allowing the user to choose either for now. It's been two years since I worked on this. - Jim Van Zandt |