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

Reply via email to