Re: current display...

Use the ScalarMap.setRange() method to set the scale along
spatial axes.

On Thu, 12 Sep 2002, Brobbey,Isaac wrote:

> hi all:
>
> thanks for your ealier insight, the thing with my X and Y axis scaling is
> that if you take a look at the attached code, you realised that only the
> scaling on the Z-axis is correct because it really matches the spikes
> height.
>
> i want the scale on the pi-axis to be up to 14 NOT 20 and secondly i will
> like the scale on the isotopicmass-axis to be up to 600,000 since the mass
> is in thousands and the original pi data does not exceed 14.
>
> but this is not really the case, it looks like the scale is set to the
> contents of the samples array which creates the grid.
> the thing is that my data is coming from a database, so i do not know in
> advance what the scale will be like.so the grid should be created based on
> the pi values and the mass values that comes from the database;as you can
> see from the shot, the grid is created seperately and the spikes put on the
> grid after reading the spike value from the proteinxwc object.I can
> similarly get the mass and pi value from the proteinxwc object,but how to
> use these values to make the spike correspond the axis and scale is the
> problem. i am wondering if you can show me some workaround on that, i think
> that will be very helpful,
>
>
> Isaac
>
> sample data in proteinxwc object is below
>
> Name            mass    pi       ratio
>
> CBLC_HUMAN      502435  7.83    .6134969325153374
>
> CIDA_HUMAN      2004671 9.34    .7692307692307692
>
> private static final int NUM_SPIKES_X = 4;
>
>   // number of spikes along Y axis
>   private static final int NUM_SPIKES_Y = 3;
> // increase density value to make spikes "thinner"
>   // decrease density value to make spikes "thicker"
>  private static final int DENSITY = 5;
>
>  double[][] samples
>       new double[1][DENSITY * NUM_SPIKES_X * DENSITY * NUM_SPIKES_Y];
>
>      OuterLoop:
>     for (int y=0; y<DENSITY * NUM_SPIKES_Y; y++)
>     {
>       for (int x=0; x<DENSITY * NUM_SPIKES_X; x++)
>        {
>         int ndx = y * DENSITY * NUM_SPIKES_X + x;
>         if(x % DENSITY == 0&& y % DENSITY == 0  )
>         {
>
>             i+=1;
>            if (i==tex.size())
>             break OuterLoop;
>              prodat pro= (prodat)tex.get(i);
>              String name=(String)pro.getName();
>             double ratiox=pro.getProp();
>             double massx=pro.getMass();
>             double pix = pro.getPi();
>             ratioxValues.addElement(new
> proteinxwc(name,massx,pix,ratiox,x,y));
>             proteinxwc xwc=(proteinxwc)ratioxValues.get(i);
>             double spike=Math.round(100*xwc.getRatio());
>            if(spike > 50)
>             {
>             samples[0][ndx]= spike;
>             if (i==tex.size())
>             break OuterLoop;
>             }
>             else samples[0][ndx] =-1*spike
>             if (i==tex.size())
>             break OuterLoop;
>         }
>
>