Class BarAxis

  • Direct Known Subclasses:
    MarkerAxis

    public class BarAxis
    extends Axis
    A subclass of Axis 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 the setOrder(java.util.List<java.lang.String>) method if required.
    • 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
      • BarAxis

        public BarAxis​(List<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 is null
      • 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).

        Specified by:
        format in class Axis
        Parameters:
        in - the value to format
        Returns:
        the value formatted as a String
      • 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, the DateAxis will try and place ticks on the 1st of the month, the NumericAxis 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 and max 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).

        Specified by:
        steps in class Axis
        Parameters:
        min - the minimum value of the data to plot
        max - the maximum value of the data to plot
        Returns:
        an array of doubles representing the positions to place teeth on this axis