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