Module platform

Class StackedXYBarRenderer

All Implemented Interfaces:
Serializable, Cloneable, EventListener, AnnotationChangeListener, LegendItemSource, XYItemRenderer, PublicCloneable

public class StackedXYBarRenderer extends XYBarRenderer
A bar renderer that displays the series items stacked. The dataset used together with this renderer must be a IntervalXYDataset and a TableXYDataset. For example, the dataset class CategoryTableXYDataset implements both interfaces. The example shown here is generated by the StackedXYBarChartDemo2.java program included in the JFreeChart demo collection:

StackedXYBarRendererSample.png
See Also:
  • Constructor Details

    • StackedXYBarRenderer

      public StackedXYBarRenderer()
      Creates a new renderer.
    • StackedXYBarRenderer

      public StackedXYBarRenderer(double margin)
      Creates a new renderer.
      Parameters:
      margin - the percentual amount of the bars that are cut away.
  • Method Details

    • getRenderAsPercentages

      public boolean getRenderAsPercentages()
      Returns true if the renderer displays each item value as a percentage (so that the stacked bars add to 100%), and false otherwise.
      Returns:
      A boolean.
      See Also:
    • setRenderAsPercentages

      public void setRenderAsPercentages(boolean asPercentages)
      Sets the flag that controls whether the renderer displays each item value as a percentage (so that the stacked bars add to 100%), and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      asPercentages - the flag.
      See Also:
    • getPassCount

      public int getPassCount()
      Returns 3 to indicate that this renderer requires three passes for drawing (shadows are drawn in the first pass, the bars in the second, and item labels are drawn in the third pass so that they always appear in front of all the bars).
      Specified by:
      getPassCount in interface XYItemRenderer
      Overrides:
      getPassCount in class AbstractXYItemRenderer
      Returns:
      2.
    • initialise

      public XYItemRendererState initialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
      Initialises the renderer and returns a state object that should be passed to all subsequent calls to the drawItem() method. Here there is nothing to do.
      Specified by:
      initialise in interface XYItemRenderer
      Overrides:
      initialise in class XYBarRenderer
      Parameters:
      g2 - the graphics device.
      dataArea - the area inside the axes.
      plot - the plot.
      data - the data.
      info - an optional info collection object to return data back to the caller.
      Returns:
      A state object.
    • findRangeBounds

      public Range findRangeBounds(XYDataset dataset)
      Returns the range of values the renderer requires to display all the items from the specified dataset.
      Specified by:
      findRangeBounds in interface XYItemRenderer
      Overrides:
      findRangeBounds in class XYBarRenderer
      Parameters:
      dataset - the dataset (null permitted).
      Returns:
      The range (null if the dataset is null or empty).
      See Also:
    • drawItem

      public void drawItem(Graphics2D g2, XYItemRendererState state, Rectangle2D dataArea, PlotRenderingInfo info, XYPlot plot, ValueAxis domainAxis, ValueAxis rangeAxis, XYDataset dataset, int series, int item, CrosshairState crosshairState, int pass)
      Draws the visual representation of a single data item.
      Specified by:
      drawItem in interface XYItemRenderer
      Overrides:
      drawItem in class XYBarRenderer
      Parameters:
      g2 - the graphics device.
      state - the renderer state.
      dataArea - the area within which the plot is being drawn.
      info - collects information about the drawing.
      plot - the plot (can be used to obtain standard color information etc).
      domainAxis - the domain axis.
      rangeAxis - the range axis.
      dataset - the dataset.
      series - the series index (zero-based).
      item - the item index (zero-based).
      crosshairState - crosshair information for the plot (null permitted).
      pass - the pass index.
    • equals

      public boolean equals(Object obj)
      Tests this renderer for equality with an arbitrary object.
      Overrides:
      equals in class XYBarRenderer
      Parameters:
      obj - the object (null permitted).
      Returns:
      A boolean.
    • hashCode

      public int hashCode()
      Returns a hash code for this instance.
      Overrides:
      hashCode in class AbstractRenderer
      Returns:
      A hash code.