com.java4less.rchart
Class Axis

java.lang.Object
  |
  +--com.java4less.rchart.ChartComponent
        |
        +--com.java4less.rchart.Axis

public class Axis
extends ChartComponent

The axis is made of:


The line.
The ticks (small and big).
The labels (text displayed next to the big ticks).
Grid.
Example:


// create axis
com.java4less.rchart.Axis XAxis=new Axis(Axis.HORIZONTAL,new Scale());
com.java4less.rchart.Axis YAxis=new Axis(Axis.VERTICAL,new Scale());
XAxis.scale.min=0;
YAxis.scale.min=0;
YAxis.scaleTickInterval=1;
XAxis.scaleTickInterval=1;
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.
 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
           
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!
 java.awt.Color DescColor
          Color of the text used to display the labels.
 java.awt.Font DescFont
          Font of the text used to display the labels.
 LineStyle gridStyle
          Style of the grid.
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.
 boolean logarithmicIntervals
          only if you use logarithmic scales.
 int offset
          internal use
 int orientation
          orientation of the axis.
 Axis peerAxis
          internal use.
 Plotter plot
          internal use.
 int realPosition
          internal use
 boolean rightAxis
           
 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 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
          maximum number of characters per label.
 java.lang.String[] tickLabels
          Labels display at big ticks.
 int tickPixels
          length of the line used to draw ticks.
 double[] ticks_preferred_Interval
          Only used if autoNumberOfTicks<>=0.
static int VERTICAL
           
 boolean verticalLabels
          if true, the labels will be painted as vertical text (you must also set the property Chart.tmpImage).
 int visibleSize
          internal use
 
Fields inherited from class com.java4less.rchart.ChartComponent
height, width, x, y
 
Constructor Summary
Axis(int o, Scale s)
          creates an axis with an orientation and scale.
 
Method Summary
 void draw(java.awt.Graphics g, Axis peerAxis, boolean drawForeGround)
          draws the axis.
 void drawBackground(java.awt.Graphics g, Axis peerAxis)
           
 void drawForeground(java.awt.Graphics g, Axis peerAxis)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HORIZONTAL

public static final int HORIZONTAL

VERTICAL

public static final int VERTICAL

CEROAXIS_LINE

public static final int CEROAXIS_LINE

CEROAXIS_NO

public static final int CEROAXIS_NO

CEROAXIS_SCALE

public static final int CEROAXIS_SCALE

axisFrame

public boolean axisFrame
if true, axis lines will be painted on all four sides of the chart. The result will be a frame around the chart.

dateLabelFormat

public java.lang.String dateLabelFormat
date format for date labels (only if initialDate!=null). Default is dd-MMM-yyyy

dateStep

public java.lang.String dateStep
date step for ticks (only if initialDate!=null) . The default is "d" which means 1 step is 1 day. Other values are "m" (months), "w" (week) , "y" (year) and "d3" ( 3 days).

initialDate

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

realPosition

public int realPosition
internal use

visibleSize

public int visibleSize
internal use

offset

public int offset
internal use

IntegerScale

public boolean IntegerScale
if true, the labels will be shown as integer values. Default is false

autoNumberOfTicks

public int autoNumberOfTicks
Defautl is 0. If <> 0 Chart will calculate the tick interval to get the desired amount of ticks

ticks_preferred_Interval

public double[] ticks_preferred_Interval
Only used if autoNumberOfTicks<>=0. RChart will use the tick_interval in this list which is more appropiate to get the desired amount of ticks.

Default is:
new {0.1,0.5,1,5,10,25,50,100,250,500,1000,5000,10000,50000,100000,500000,1000000};

For example, if your values range from 0 till 300 and the desired number of ticks is 10. RChart will select tick_interval=25 which will result in 12 ticks.

scaleLabelFormat

public java.lang.String scaleLabelFormat
this format will be used to draw the label. For example "#####.00" will always display 2 decimal digits. The format uses the following symbols:


0 a digit,
# a digit, zero shows as absent
. placeholder for decimal separator
, placeholder for grouping separator.
- default negative prefix.

logarithmicIntervals

public boolean logarithmicIntervals
only if you use logarithmic scales. If "true" the ticks will be printed at logarithmic intervals (which is fixed intervals in the screen). If false the TICK_INTERVAL will be used to draw the ticks at fixed value intervals (not screen intervals).

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. If false (default) will be displayed for all ticks.

scaleTickInterval

public double scaleTickInterval
A value of 100 means that the ticks will be displayed in intervals of 100. That's, first tick at scale.min , second at scale.min+100 third at scale.min+200...

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
length of the line used to draw ticks.

bigTickPixels

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

plot

public Plotter plot
internal use.

peerAxis

public Axis peerAxis
internal use.

ceroAxis

public int ceroAxis
displays a cero axis if there are negative values in the chart. Valid values are CEROAXIS_NO, CEROAXIS_LINE and CEROAXIS_SCALE.

ceroAxisStyle

public LineStyle ceroAxisStyle
style of the cero axis.

tickAtBase

public boolean tickAtBase
if true draws the first tick at scale.min. If false at scale.min+ scaleTickInterval.

verticalLabels

public boolean verticalLabels
if true, the labels will be painted as vertical text (you must also set the property Chart.tmpImage).

style

public LineStyle style
Style of the axis.

gridStyle

public LineStyle gridStyle
Style of the grid. If null (default) no grid is displayed.

orientation

public int orientation
orientation of the axis. Valid values are VERTICAL or HORIZONTAL.

rightAxis

public boolean rightAxis

DescColor

public java.awt.Color DescColor
Color of the text used to display the labels.

DescFont

public java.awt.Font DescFont
Font of the text used to display the labels.

tickLabels

public java.lang.String[] tickLabels
Labels display at big ticks. If null the scale value will be used.

startWithBigTick

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

tickLabelLength

public int tickLabelLength
maximum number of characters per label. Create a new line if exceeded
Constructor Detail

Axis

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

drawForeground

public void drawForeground(java.awt.Graphics g,
                           Axis peerAxis)

drawBackground

public void drawBackground(java.awt.Graphics g,
                           Axis peerAxis)

draw

public void draw(java.awt.Graphics g,
                 Axis peerAxis,
                 boolean drawForeGround)
draws the axis. This is called by RChart.