Class BarAxis
- java.lang.Object
-
- org.faceless.graph2.Axis
-
- org.faceless.graph2.BarAxis
-
- Direct Known Subclasses:
MarkerAxis
public class BarAxis extends Axis
A subclass ofAxis
useful for plotting Bar Series. A BarAxis works the same way as a regular axis - it formats and plots a range of numbers along a spine. The difference is that in this case, the BarAxis formats those numbers as Strings. It does this because internally, each bar added to the graph is stored as a number - the first bar is "0", the second is "1" and so on. So, for example:Axesgraph graph = new AxesGraph(); BarSeries series = new BarSeries("Fruit"); series.set("Apples", 10); series.set("Bananas", 15); series.set("Carrots", 8); graph.addSeries(AxesGraph.BOTTOMLEFT, s);
Will result in the graph having a BarAxis along the bottom which will plot values from 0 to 2, formatting 0 as "Apples", 1 as "Bananas" and 2 as "Carrots". This order can be overridden by calling thesetOrder(java.util.List<java.lang.String>)
method if required.
-
-
Field Summary
-
Fields inherited from class org.faceless.graph2.Axis
BOTTOM, DENSITY_MINIMAL, DENSITY_NORMAL, DENSITY_SPARSE, LEFT, RIGHT, TOP, ZAXIS
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
format(double in)
Given the specified number, return the text that should be placed against the tooth at that position.void
setOrder(List<String> list)
Set the order of the keys on the axis.double[]
steps(double min, double max)
Thesteps
method controls where the teeth are placed on the spine.-
Methods inherited from class org.faceless.graph2.Axis
setLabel, setMaxValue, setMinValue, setSpineStyle, setToothLength, setToothTextStyle, setWallPaint, setWallPaint, setWallPaint, setZeroIntersection, toString
-
-
-
-
Constructor Detail
-
BarAxis
public BarAxis()
Create a new BarAxis
-
BarAxis
public BarAxis(String[] labels)
Create a new BarAxis with the specified labels.- Parameters:
labels
- the list of labels to use on the axis
-
-
Method Detail
-
setOrder
public void setOrder(List<String> list)
Set the order of the keys on the axis. Any bars that have been added to the graph that aren't in this list will be automatically added to the end of this list. On the other hand, any items in this list that don't have matching bars on the graph, will result in a gap in the graph. The specified list must not contain any duplicates.- Throws:
an
- IllegalArgumentException if there are any duplicate entries in the list, or if the list isnull
-
format
public String format(double in)
Description copied from class:Axis
Given the specified number, return the text that should be placed against the tooth at that position. For example, an Axis that simply plotted integer values might return
Integer.toString((int)in)
Those wanting to create their own custom axis will typically override this method and
Axis.steps(double, double)
.
-
steps
public double[] steps(double min, double max)
Description copied from class:Axis
The
steps
method controls where the teeth are placed on the spine. Each subclass of Axis has a different strategy - for instance, theDateAxis
will try and place ticks on the 1st of the month, theNumericAxis
will try and place them evenly across the range and so on.The returned array should consist of a range of numbers, ordered from low to high, which mark the locations of the teeth on the spine.
min
andmax
are the minimum and maximum values of the data to plot, and these values will usually be the first and last values in the returned array.Those wanting to create their own custom axis will typically override this method and
Axis.format(double)
.
-
-