de.lmu.ifi.dbs.elki.visualization.scales
Class LinearScale

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.visualization.scales.LinearScale

public class LinearScale
extends Object

Class to handle a linear scale for an axis. The computed scales are rounded to be on decimal borders, choosing an appropriate resolution to have between 4 and 31 major tics (3 to 30 intervals). Future versions might use major/minor tics to get even nicer values.


Field Summary
private  double delta
          Scale delta := max - min
private  int log10res
          Scale resolution in log10.
private  double max
          max value of the scale
private  double min
          min value of the scale
private  double res
          Scale resolution
private  double ZOOMFACTOR
           
 
Constructor Summary
LinearScale(double min, double max)
          Constructor.
 
Method Summary
 String formatValue(double val)
          Format value according to the scales resolution (i.e. appropriate number of digits)
 double getLog10Res()
          Get resolution (scale interval size)
 double getMax()
          Get maximum value (scale, not data).
 double getMin()
          Get minimum value (scale, not data).
 double getRelativeScaled(double val)
          Covert a relative value to it's scale position
 double getRelativeScaled(double val, double smax, double smin)
          Covert a relative value to it's scale position
 double getRelativeUnscaled(double val)
          Covert a relative scale position to the actual value
 double getRelativeUnscaled(double val, double smin, double smax)
          Covert a relative scale position to the actual value
 double getRes()
          Get resolution (scale interval size)
 double getScaled(double val)
          Covert a value to it's scale position
 double getScaled(double val, double smin, double smax)
          Covert a value to it's scale position
 double getUnscaled(double val)
          Covert a scale position to the actual value
 double getUnscaled(double val, double smin, double smax)
          Covert a scale position to the actual value
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ZOOMFACTOR

private final double ZOOMFACTOR

min

private double min
min value of the scale


max

private double max
max value of the scale


res

private double res
Scale resolution


log10res

private int log10res
Scale resolution in log10.


delta

private double delta
Scale delta := max - min

Constructor Detail

LinearScale

public LinearScale(double min,
                   double max)
Constructor. Computes a scale covering the range of min-max with between 3 and 30 intervals, rounded to the appropriate number of digits.

Parameters:
min - actual minimum in the data
max - actual maximum in the data
Method Detail

getMin

public double getMin()
Get minimum value (scale, not data).

Returns:
min

getMax

public double getMax()
Get maximum value (scale, not data).

Returns:
max

getRes

public double getRes()
Get resolution (scale interval size)

Returns:
scale interval size

getLog10Res

public double getLog10Res()
Get resolution (scale interval size)

Returns:
scale interval size in logarithmic form

getScaled

public double getScaled(double val)
Covert a value to it's scale position

Parameters:
val - data value
Returns:
scale position in the interval [0:1]

getUnscaled

public double getUnscaled(double val)
Covert a scale position to the actual value

Parameters:
val - scale position in the interval [0:1]
Returns:
value on the original scale

getRelativeScaled

public double getRelativeScaled(double val)
Covert a relative value to it's scale position

Parameters:
val - relative data value
Returns:
relative scale position in the interval [0:1]

getRelativeUnscaled

public double getRelativeUnscaled(double val)
Covert a relative scale position to the actual value

Parameters:
val - relative scale position in the interval [0:1]
Returns:
relative value on the original scale

getScaled

public double getScaled(double val,
                        double smin,
                        double smax)
Covert a value to it's scale position

Parameters:
val - data value
smin - target scale minimum
smax - target scale maximum
Returns:
scale position in the interval [smin:smax]

getUnscaled

public double getUnscaled(double val,
                          double smin,
                          double smax)
Covert a scale position to the actual value

Parameters:
val - scale position in the interval [smin:smax]
smin - target scale minimum
smax - target scale maximum
Returns:
value on the original scale

getRelativeScaled

public double getRelativeScaled(double val,
                                double smax,
                                double smin)
Covert a relative value to it's scale position

Parameters:
val - relative data value
smin - target scale minimum
smax - target scale maximum
Returns:
relative scale position in the interval [smin:smax]

getRelativeUnscaled

public double getRelativeUnscaled(double val,
                                  double smin,
                                  double smax)
Covert a relative scale position to the actual value

Parameters:
val - relative scale position in the interval [smin:smax]
smin - target scale minimum
smax - target scale maximum
Returns:
relative value on the original scale

formatValue

public String formatValue(double val)
Format value according to the scales resolution (i.e. appropriate number of digits)

Parameters:
val - Value
Returns:
formatted number

Release 0.4.0 (2011-09-20_1324)