On Tue, Jul 17, 2007 at 08:33:47AM -0500, John Hunter wrote: > Speaking of branches, we may need to seriously consider a branch here, > mpl1. The changes here may involve breaking a fair amount of code, > which I don't mind doing to get it right, but I'm somewhat inclined to > branch off here for matplotlib1.0, with the goal of using traits, > fixing axis handling (eg multiple y-axis with arbitrary placement), > and rewriting the transforms.
On the topic of transforms, I would like to be able to do dynamic range compression on a decaying oscillatory signal. Think of it as a logarithmic axis which supports negative numbers. AFAICT, the current transform infrastructure does not allow me to add this as a third party package. The axis would look something like: |- 10**2 | |- 10**1 | |- 10**0 | |- 10**-1 | |- 0 | |- -10**-1 | |- -10**0 As well as a max and min parameter, there would have to be a cutoff parameter. For auto axes, choose a cutoff which allows a reasonable number of decades to be displayed (I'm guessing reasonable is seven). The transform would be something like the following: if (x[i] > cut) newx[i] = log10(x[i]) - log10cut; else if (x[i] < -cut) newx[i] = log10cut - log10(-x[i]); else newx[i] = 0.; with inverse: if (x[i] < 0) newx[i] = -pow(10.0, log10cut - x[i]); else if (x[i] > 0) newx[i] = pow(10.0, x[i] - log10cut); else x[i] = 0. Even extending the current LOG10 support would present a challenge of how to get the cut value into the transform. Suggestions how I can implement this in the current architecture, or should I wait for the new transforms code? - Paul ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel