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;
> }
>
>