All Packages  Class Hierarchy  This Package  Previous  Next  Index
  Class graph.Axis
java.lang.Object
   |
   +----graph.Axis
  -  public class Axis
  
-  extends Object
  
This class controls the look and feel of axes. 
 It is designed to be used in conjunction with 
 the Graph2D class and DataSet class for plotting 2D graphs.
 To work with the other classes a system of registration is used.
 The axes have to be attached to the controlling Graph2D class
 and the DataSet's have to be attached to both the Graph2D class
 and the Axis class.
 This way the 3 main classes Graph2D, Axis and DataSet know of each
 others existence.
 This does not mean the classes cannot be used independently, they can
 but in this mode nothing is automated, the user must code everything
 manually
 MCC 6/9/97 Changed SpecialFunction.log10 to internal log10
  -  Version:
  
 -  LB1.12 MCC 3/19/97
  
 -  Author:
  
 -  Leigh Brookshaw modified by Michael Cross
 
  
  -  
	amax
   -   The position in pixels of the maximum point of the axis line
  
 -  
	amin
   -   The position in pixels of the minimum point of the axis line
  
 -  
	axiscolor
   -   Color of the Axis.
  
 -  
	BOTTOM
   -      Constant flagging Axis position on the graph.
  
 -  
	changed
   -   True if axes have changed.
  
 -  
	data_window
   -   Before the Axis can be positioned correctly and drawn the data window
 needs to be calculated and passed to the Axis.
  
 -  
	dataset
   -   Vector containing a list of attached DataSets
  
 -  
	drawgrid
   -      If true draw a grid positioned on major ticks over the graph
  
 -  
	drawzero
   -      If true draw a line positioned on the Zero label tick mark.
  
 -  
	exponent
   -   Textline class to hold the label's exponent (if it has one).
  
 -  
	force_end_labels
   -   Rescale the axis so that labels fall at the end of the Axis.
  
 -  
	g2d
   -   The graph canvas this axis is attached to (if it is attached to any)
 
  
 -  
	gridcolor
   -   Color of the grid
  
 -  
	guess_label_number
   -   Initial guess for the number of labels required
  
 -  
	HORIZONTAL
   -      Constant flagging Horizontal Axis
  
 -  
	label
   -   Textline class to hold the labels before printing.
  
 -  
	label_count
   -   The number of labels required
  
 -  
	label_exponent
   -   The label exponent
  
 -  
	label_start
   -   The starting value of the labels
  
 -  
	label_step
   -   The increment between labels
  
 -  
	label_string
   -   String to contain the labels.
  
 -  
	label_value
   -   The actual values of the axis labels
  
 -  
	LEFT
   -      Constant flagging Axis position on the graph.
  
 -  
	major_tic_size
   -   Size in pixels of the major tick marks
  
 -  
	manualRange
   -   If true the axis range must be manually set by setting the
 Axis.minimum and Axis.maximum variables.
  
 -  
	max_label_width
   -   The width of the maximum label.
  
 -  
	maximum
   -   Maximum data value of the axis.
  
 -  
	minimum
   -   Minimum data value of the axis.
  
 -  
	minor_tic_count
   -   Number of minor tick marks between major tick marks
  
 -  
	minor_tic_size
   -   Size in pixels of the minor tick marks
  
 -  
	NUMBER_OF_TICS
   -      The first guess on the number of Labeled Major tick marks.
  
 -  
	orientation
   -   The orientation of the axis.
  
 -  
	position
   -   The position of the axis.
  
 -  
	redraw
   -   Default value true.
  
 -  
	RIGHT
   -      Constant flagging Axis position on the graph.
  
 -  
	title
   -   Textline class to contain the title of the axis.
  
 -  
	TOP
   -      Constant flagging Axis position on the graph.
  
 -  
	VERTICAL
   -      Constant flagging Vertical Axis
  
 -  
	width
   -   The width of the Axis.
  
 -  
	zerocolor
   -   Color of the line at the Zero label
 
  
  -  
	Axis()
   -    Instantiate the class.
  
 -  
	Axis(int)
   -   Instantiate the class.
 
  
  -  
	attachDataSet(DataSet)
   -   Attach a DataSet for the Axis to manage.
  
 -  
	attachXdata(DataSet)
   -   Attach a DataSet to a Horizontal Axis
 
  
 -  
	attachYdata(DataSet)
   -   Attach a DataSet to a Vertical Axis
 
  
 -  
	calculateGridLabels()
   -   calculate the labels
  
 -  
	detachAll()
   -   Detach All attached dataSets.
  
 -  
	detachDataSet(DataSet)
   -   Detach an attached DataSet
 
  
 -  
	drawAxis(Graphics)
   -   Draw the axis using the passed Graphics context.
  
 -  
	drawHAxis(Graphics)
   -   Draw a Horizontal Axis.
  
 -  
	drawVAxis(Graphics)
   -   Draw a Vertical Axis.
  
 -  
	getAxisPos()
   -   Return the position of the Axis.
  
 -  
	getAxisWidth(Graphics)
   -   Return the width of the axis.
  
 -  
	getDataMax()
   -   Return the maximum value of All datasets attached to the axis.
  
 -  
	getDataMin()
   -   Return the minimum value of All datasets attached to the axis.
  
 -  
	getDouble(int)
   -   Return the data value equivalent of the passed pixel position.
  
 -  
	getInteger(double)
   -   Return the pixel equivalent of the passed data value.
  
 -  
	isVertical()
   -   If the Axis is Vertical return true.
  
 -  
	positionAxis(int, int, int, int)
   -   Position the axis at the passed coordinates.
  
 -  
	resetRange()
   -   Reset the range of the axis (the minimum and maximum values) to the
 default data values.
  
 -  
	setExponentColor(Color)
   -   Set the color of the exponent
 
  
 -  
	setExponentFont(Font)
   -   Set the font of the exponent
 
  
 -  
	setLabelColor(Color)
   -   Set the color of the labels
 
  
 -  
	setLabelFont(Font)
   -   Set the font of the labels.
  
 -  
	setManualRange(boolean)
   -   Is the range of the axis to be set automatically (based on the data)
 or manually by setting the values Axis.minimum and Axis.maximum?
 
  
 -  
	setPosition(int)
   -   Set the axis position.
  
 -  
	setTitleColor(Color)
   -   Set the color of the title
 
  
 -  
	setTitleFont(Font)
   -   Set the font of the title
 
  
 -  
	setTitleRotation(int)
   -   Set the title rotation angle.
  
 -  
	setTitleText(String)
   -   Set the title of the axis
 
 
  
HORIZONTAL
 static final int HORIZONTAL
  -  Constant flagging Horizontal Axis
 
VERTICAL
 static final int VERTICAL
  -  Constant flagging Vertical Axis
 
LEFT
 public static final int LEFT
  -  Constant flagging Axis position on the graph. 
    Left side => Vertical
 
RIGHT
 public static final int RIGHT
  -  Constant flagging Axis position on the graph. 
    Right side => Vertical
 
TOP
 public static final int TOP
  -  Constant flagging Axis position on the graph. 
    Top side => Horizontal
 
BOTTOM
 public static final int BOTTOM
  -  Constant flagging Axis position on the graph. 
    Bottom side => Horizontal
 
NUMBER_OF_TICS
 static final int NUMBER_OF_TICS
  -  The first guess on the number of Labeled Major tick marks.
 
drawgrid
 public boolean drawgrid
  -  If true draw a grid positioned on major ticks over the graph
 
drawzero
 public boolean drawzero
  -  If true draw a line positioned on the Zero label tick mark.
 
gridcolor
 public Color gridcolor
  -  Color of the grid
 
zerocolor
 public Color zerocolor
  -  Color of the line at the Zero label
 
redraw
 public boolean redraw
  -  Default value true. Normally never changed. If set false
 the Axis draw method exits without drawing the axis.
  
 
    -  See Also:
    
 -  drawAxis
  
 
 
 
force_end_labels
 public boolean force_end_labels
  -  Rescale the axis so that labels fall at the end of the Axis. Default
 value false.
 
changed
 public boolean changed
  -  True if axes have changed. Added by MCC.
 
major_tic_size
 public int major_tic_size
  -  Size in pixels of the major tick marks
 
minor_tic_size
 public int minor_tic_size
  -  Size in pixels of the minor tick marks
 
minor_tic_count
 public int minor_tic_count
  -  Number of minor tick marks between major tick marks
 
axiscolor
 public Color axiscolor
  -  Color of the Axis.
 
minimum
 public double minimum
  -  Minimum data value of the axis. This is the value used to scale
 data into the data window. This is the value to alter to force
 a rescaling of the data window.
 
maximum
 public double maximum
  -  Maximum data value of the axis. This is the value used to scale
 data into the data window. This is the value to alter to force
 a rescaling of the data window.
 
data_window
 public Dimension data_window
  -  Before the Axis can be positioned correctly and drawn the data window
 needs to be calculated and passed to the Axis.
 
g2d
 public Graph2D g2d
  -  The graph canvas this axis is attached to (if it is attached to any)
  
 
    -  See Also:
    
 -  Graph2D
  
 
 
 
amin
 protected Point amin
  -  The position in pixels of the minimum point of the axis line
 
amax
 protected Point amax
  -  The position in pixels of the maximum point of the axis line
 
orientation
 protected int orientation
  -  The orientation of the axis. Either Axis.HORIZONTAL or
 Axis.VERTICAL
 
position
 protected int position
  -  The position of the axis. Either Axis.LEFT, Axis.RIGHT, Axis.TOP, or
 Axis.BOTTOM
 
width
 protected int width
  -  The width of the Axis. Where width for a horizontal axis is really 
 the height
 
title
 protected RTextLine title
  -  Textline class to contain the title of the axis.
 
label
 protected RTextLine label
  -  Textline class to hold the labels before printing.
 
exponent
 protected RTextLine exponent
  -  Textline class to hold the label's exponent (if it has one).
 
max_label_width
 protected int max_label_width
  -  The width of the maximum label. Used to position a Vertical Axis.
 
dataset
 protected Vector dataset
  -  Vector containing a list of attached DataSets
 
label_string
 protected String label_string[]
  -  String to contain the labels.
 
label_value
 protected float label_value[]
  -  The actual values of the axis labels
 
label_start
 protected double label_start
  -  The starting value of the labels
 
label_step
 protected double label_step
  -  The increment between labels
 
label_exponent
 protected int label_exponent
  -  The label exponent
 
label_count
 protected int label_count
  -  The number of labels required
 
guess_label_number
 protected int guess_label_number
  -  Initial guess for the number of labels required
 
manualRange
 protected boolean manualRange
  -  If true the axis range must be manually set by setting the
 Axis.minimum and Axis.maximum variables. The default is false.
 The default action is for the axis range to be calculated everytime
 a dataset is attached.
 
  
Axis
 public Axis()
  -  Instantiate the class. The defalt type is a Horizontal axis
  positioned at the bottom of the graph.
 
Axis
 public Axis(int p)
  -  Instantiate the class. Setting the position.
  
    -  Parameters:
    
 -  p - Set the axis position. Must be one of Axis.BOTTOM,
 Axis.TOP, Axis.LEFT, Axis.RIGHT, Axis.HORIZONTAL or Axis.VERTICAL.
 If one of the latter two are used then Axis.BOTTOM or 
 Axis.LEFT is assumed.
  
 
 
 
  
setPosition
 public void setPosition(int p)
  -  Set the axis position.
  
    -  Parameters:
    
 -  p - Must be one of Axis.BOTTOM,
 Axis.TOP, Axis.LEFT, Axis.RIGHT, Axis.HORIZONTAL or Axis.VERTICAL.
 If one of the latter two are used then Axis.BOTTOM or 
 Axis.LEFT is assumed.
  
 
 
 
attachDataSet
 public void attachDataSet(DataSet d)
  -  Attach a DataSet for the Axis to manage.
  
    -  Parameters:
    
 -  d - dataSet to attach
    
 -  See Also:
    
 -  DataSet
  
 
 
 
detachDataSet
 public void detachDataSet(DataSet d)
  -  Detach an attached DataSet
  
    -  Parameters:
    
 -  d - dataSet to detach
    
 -  See Also:
    
 -  DataSet
  
 
 
 
detachAll
 public void detachAll()
  -  Detach All attached dataSets.
 
getDataMin
 public double getDataMin()
  -  Return the minimum value of All datasets attached to the axis.
  
    -  Returns:
    
 -  Data minimum
  
 
 
 
getDataMax
 public double getDataMax()
  -  Return the maximum value of All datasets attached to the axis.
  
    -  Returns:
    
 -  Data maximum
  
 
 
 
getInteger
 public int getInteger(double v)
  -  Return the pixel equivalent of the passed data value. Using the 
 position of the axis and the maximum and minimum values convert
 the data value into a pixel value
  
    -  Parameters:
    
 -  v - data value to convert
    
 -  Returns:
    
 -  equivalent pixel value
    
 -  See Also:
    
 -  getDouble
  
 
 
 
getDouble
 public double getDouble(int i)
  -  Return the data value equivalent of the passed pixel position.
 Using the 
 position of the axis and the maximum and minimum values convert
 the pixel position into a data value
  
    -  Parameters:
    
 -  i - pixel value
    
 -  Returns:
    
 -  equivalent data value
    
 -  See Also:
    
 -  getInteger
  
 
 
 
resetRange
 public void resetRange()
  -  Reset the range of the axis (the minimum and maximum values) to the
 default data values. MCC: Modified to test for change in range.
 
getAxisPos
 public int getAxisPos()
  -  Return the position of the Axis.
  
    -  Returns:
    
 -  One of Axis.LEFT, Axis.RIGHT, Axis.TOP, or Axis.BOTTOM.
  
 
 
 
isVertical
 public boolean isVertical()
  -  If the Axis is Vertical return true.
 
getAxisWidth
 public int getAxisWidth(Graphics g)
  -  Return the width of the axis.
  
    -  Parameters:
    
 -  g - graphics context.
  
 
 
 
positionAxis
 public boolean positionAxis(int xmin,
                             int xmax,
                             int ymin,
                             int ymax)
  -  Position the axis at the passed coordinates. The coordinates should match
 the type of axis.
  
    -  Parameters:
    
 -  xmin - The minimum X pixel
    
-  xmax - The maximum X pixel. These should be equal if the axis
         is vertical
    
-  ymin - The minimum Y pixel
    
-  ymax - The maximum Y pixel. These should be equal if the axis
         is horizontal
    
    -  Returns:
    
 -  true if there are no inconsistencies.
  
 
 
 
drawAxis
 public void drawAxis(Graphics g)
  -  Draw the axis using the passed Graphics context.
  
    -  Parameters:
    
 -  g - Graphics context for drawing
  
 
 
 
setTitleText
 public void setTitleText(String s)
  -  Set the title of the axis
  
    -  Parameters:
    
 -  s - string containing text.
  
 
 
 
setTitleColor
 public void setTitleColor(Color c)
  -  Set the color of the title
  
    -  Parameters:
    
 -  c - Color of the title.
  
 
 
 
setTitleFont
 public void setTitleFont(Font f)
  -  Set the font of the title
  
    -  Parameters:
    
 -  c - Title font.
  
 
 
 
setTitleRotation
 public void setTitleRotation(int a)
  -  Set the title rotation angle. Only multiples of 90 degrees allowed.
  
    -  Parameters:
    
 -  a - Title rotation angle in degrees.
  
 
 
 
setLabelColor
 public void setLabelColor(Color c)
  -  Set the color of the labels
  
    -  Parameters:
    
 -  c - Color of the labels.
  
 
 
 
setLabelFont
 public void setLabelFont(Font f)
  -  Set the font of the labels.
  
    -  Parameters:
    
 -  f - font.
  
 
 
 
setExponentColor
 public void setExponentColor(Color c)
  -  Set the color of the exponent
  
    -  Parameters:
    
 -  c - Color.
  
 
 
 
setExponentFont
 public void setExponentFont(Font f)
  -  Set the font of the exponent
  
    -  Parameters:
    
 -  f - font.
  
 
 
 
setManualRange
 public void setManualRange(boolean b)
  -  Is the range of the axis to be set automatically (based on the data)
 or manually by setting the values Axis.minimum and Axis.maximum?
  
    -  Parameters:
    
 -  b - boolean value.
  
 
 
 
drawHAxis
 protected void drawHAxis(Graphics g)
  -  Draw a Horizontal Axis.
  
    -  Parameters:
    
 -  g - Graphics context.
  
 
 
 
drawVAxis
 protected void drawVAxis(Graphics g)
  -  Draw a Vertical Axis.
  
    -  Parameters:
    
 -  g - Graphics context.
  
 
 
 
attachXdata
 protected void attachXdata(DataSet d)
  -  Attach a DataSet to a Horizontal Axis
  
    -  Parameters:
    
 -  d - dataset to attach.
  
 
 
 
attachYdata
 protected void attachYdata(DataSet d)
  -  Attach a DataSet to a Vertical Axis
  
    -  Parameters:
    
 -  d - dataset to attach.
  
 
 
 
calculateGridLabels
 protected void calculateGridLabels()
  -  calculate the labels
 
All Packages  Class Hierarchy  This Package  Previous  Next  Index