net.comrom.chart
Class Axis

java.lang.Object
  extended bynet.comrom.chart.ChartComponent
      extended bynet.comrom.chart.Axis

public class Axis
extends ChartComponent

Axis is made of:
! The line
2 The ticks (small and big)
3 The labels (text displayed next to the big ticks)
4 Grid
5 Scale
Example:
// create 2 axis with scale and orientation
XAxis=new Axis(Axis.HORIZONTAL,new Scale());
YAxis=new Axis(Axis.VERTICAL,new Scale());
// set scale values
XAxis.scale.min=0;
YAxis.scale.min=0;
// set the tick configuration
Axis.scaleTickInterval=1;
XAxis.scaleTickInterval=1;
// add user defined labels
String[] lbls={"June","July","Aug.","Sept.","Oct.","Nov.","Dec."};
XAxis.tickLabels=lbls;


Field Summary
 int autoNumberOfTicks
          Defautl is 0
 boolean axisFrame
          if true, axis lines will be painted on all four sides of the chart.
static int BAR_STYLE_BAR
           
static int BAR_STYLE_NONE
           
static int BAR_STYLE_RAISED_BAR
           
 FillStyle barFilling
          filling of the axis if its barstyle is not NONE
 int barStyle
          style of the axis regular or bars
 int barWidth
          width of the axis bar if style is not regular
 int bigTickInterval
          A value of 5 means that a big tick will be displayed after 4 small ticks
 int[] bigTickIntervalList
          list of positions where big ticks should be painted, axis.bigTickIntervalList={1,3,6}; means: paint a big tick after 1, 3 and 6 small ticks
 int bigTickPixels
          length of the line used to draw big ticks
 boolean bigTicksGrid
          if true the grid will be displayed only for the big ticks.
 int ceroAxis
          displays a cero axis if there are negative values in the chart.
static int CEROAXIS_LINE
           
static int CEROAXIS_NO
          no line at value 0 of the scale
static int CEROAXIS_SCALE
           
 LineStyle ceroAxisStyle
          style of the cero axis.
 java.lang.String dateLabelFormat
          date format for date labels (only if initialDate!
 java.lang.String dateStep
          date step for ticks (only if initialDate!
 boolean dateStepPerUnit
          if true, the value of dateStep will define the step for each unit of the axis
 ChartColor DescColor
          Color of the text used to display the labels.
 ChartFont DescFont
          Font of the text used to display the labels.
 FillStyle gridFillStyle
           
 LineStyle gridStyle
           
static int HORIZONTAL
           
 java.util.Date initialDate
          this date will be used as based if you want to calculate dates for the tick labels.
 boolean IntegerScale
          if true, the labels will be shown as integer values
 java.lang.String label
           
 java.lang.String labelTemplate
          template for the ChartLabel object using the @ tags
 boolean logarithmicIntervals
          only if you use logarithmic scales.
 int orientation
          orientation of the axis
 Axis peerAxis
           
 Plotter plot
           
 int rotateLabels
          rotation angle of the labels
 Scale scale
          scale assigned to the axis
 java.lang.String scaleLabelFormat
          this format will be used to draw the label
 double scaleTickInterval
          A value of 100 means that the ticks will be displayed in intervals of 100.
 boolean stackAdditionalAxis
          place the axis next to each other or stack them to create several charts on the top/next to the other?
 boolean startWithBigTick
          if "true" the first tick in the axis will be a big ticks (with label).
 LineStyle style
          Style of the axis
 boolean tickAtBase
          if true draws the first tick at scale.min
 int tickLabelLength
           
 java.lang.String[] tickLabels
           
 int tickPixels
           
 double[] ticks_preferred_Interval
           
static int VERTICAL
           
 boolean xscaleOnTop
          X Axis should be painted o the top of the chart instead of the bottom which is the default
 
Fields inherited from class net.comrom.chart.ChartComponent
height, width, x, y
 
Constructor Summary
Axis(int o, Scale s)
          creates an axis with an orientation and scale.
 
Method Summary
 void addAdditionalAxis(Axis axis)
          add an additional axis to this axis
 void addTargetZone(AxisTargetZone zone)
          add new targe zone
static double convertFromDate(java.util.Date d, java.lang.String dateStep, java.util.Date initialDate)
           
 void draw(ChartGraphics g, Axis peerAxis, boolean drawForeGround, boolean drawGridBackground)
           
 AxisTargetZone[] getTargetZones()
           
 void removeTargetZones()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HORIZONTAL

public static final int HORIZONTAL
See Also:
Constant Field Values

VERTICAL

public static final int VERTICAL
See Also:
Constant Field Values

CEROAXIS_LINE

public static final int CEROAXIS_LINE
See Also:
Constant Field Values

CEROAXIS_NO

public static final int CEROAXIS_NO
no line at value 0 of the scale

See Also:
Constant Field Values

CEROAXIS_SCALE

public static final int CEROAXIS_SCALE
See Also:
Constant Field Values

BAR_STYLE_NONE

public static final int BAR_STYLE_NONE
See Also:
Constant Field Values

BAR_STYLE_BAR

public static final int BAR_STYLE_BAR
See Also:
Constant Field Values

BAR_STYLE_RAISED_BAR

public static final int BAR_STYLE_RAISED_BAR
See Also:
Constant Field Values

label

public java.lang.String label

barStyle

public int barStyle
style of the axis regular or bars


barWidth

public int barWidth
width of the axis bar if style is not regular


barFilling

public FillStyle barFilling
filling of the axis if its barstyle is not NONE


xscaleOnTop

public boolean xscaleOnTop
X Axis should be painted o the top of the chart instead of the bottom which is the default


axisFrame

public boolean axisFrame
if true, axis lines will be painted on all four sides of the chart.


dateLabelFormat

public java.lang.String dateLabelFormat
date format for date labels (only if initialDate!=null).


dateStep

public java.lang.String dateStep
date step for ticks (only if initialDate!=null)


dateStepPerUnit

public boolean dateStepPerUnit
if true, the value of dateStep will define the step for each unit of the axis


initialDate

public java.util.Date initialDate
this date will be used as based if you want to calculate dates for the tick labels.


IntegerScale

public boolean IntegerScale
if true, the labels will be shown as integer values


autoNumberOfTicks

public int autoNumberOfTicks
Defautl is 0


ticks_preferred_Interval

public double[] ticks_preferred_Interval

scaleLabelFormat

public java.lang.String scaleLabelFormat
this format will be used to draw the label


labelTemplate

public java.lang.String labelTemplate
template for the ChartLabel object using the @ tags


logarithmicIntervals

public boolean logarithmicIntervals
only if you use logarithmic scales.


scale

public Scale scale
scale assigned to the axis


bigTicksGrid

public boolean bigTicksGrid
if true the grid will be displayed only for the big ticks.


scaleTickInterval

public double scaleTickInterval
A value of 100 means that the ticks will be displayed in intervals of 100.


bigTickInterval

public int bigTickInterval
A value of 5 means that a big tick will be displayed after 4 small ticks


bigTickIntervalList

public int[] bigTickIntervalList
list of positions where big ticks should be painted, axis.bigTickIntervalList={1,3,6}; means: paint a big tick after 1, 3 and 6 small ticks


tickPixels

public int tickPixels

bigTickPixels

public int bigTickPixels
length of the line used to draw big ticks


plot

public Plotter plot

peerAxis

public Axis peerAxis

ceroAxis

public int ceroAxis
displays a cero axis if there are negative values in the chart.


ceroAxisStyle

public LineStyle ceroAxisStyle
style of the cero axis.


tickAtBase

public boolean tickAtBase
if true draws the first tick at scale.min


rotateLabels

public int rotateLabels
rotation angle of the labels


style

public LineStyle style
Style of the axis


gridStyle

public LineStyle gridStyle

gridFillStyle

public FillStyle gridFillStyle

orientation

public int orientation
orientation of the axis


DescColor

public ChartColor DescColor
Color of the text used to display the labels.


DescFont

public ChartFont DescFont
Font of the text used to display the labels.


tickLabels

public java.lang.String[] tickLabels

startWithBigTick

public boolean startWithBigTick
if "true" the first tick in the axis will be a big ticks (with label).


tickLabelLength

public int tickLabelLength

stackAdditionalAxis

public boolean stackAdditionalAxis
place the axis next to each other or stack them to create several charts on the top/next to the other?

Constructor Detail

Axis

public Axis(int o,
            Scale s)
creates an axis with an orientation and scale.

Method Detail

addAdditionalAxis

public void addAdditionalAxis(Axis axis)
add an additional axis to this axis


convertFromDate

public static double convertFromDate(java.util.Date d,
                                     java.lang.String dateStep,
                                     java.util.Date initialDate)
Parameters:
d -
dateStep -
initialDate -
Returns:
convert a date to a numeric value for date based axis/scales

addTargetZone

public void addTargetZone(AxisTargetZone zone)
add new targe zone


removeTargetZones

public void removeTargetZones()

getTargetZones

public AxisTargetZone[] getTargetZones()

draw

public void draw(ChartGraphics g,
                 Axis peerAxis,
                 boolean drawForeGround,
                 boolean drawGridBackground)
Parameters:
g -
peerAxis -
drawForeGround -