Class StackedXYAreaRenderer2

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

public class StackedXYAreaRenderer2 extends XYAreaRenderer2 implements Cloneable, PublicCloneable, Serializable
A stacked area renderer for the XYPlot class. The example shown here is generated by the StackedXYAreaChartDemo2.java program included in the JFreeChart demo collection:

StackedXYAreaRenderer2Sample.png
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      For serialization.
      See Also:
    • roundXCoordinates

      private boolean roundXCoordinates
      This flag controls whether or not the x-coordinates (in Java2D space) are rounded to integers. When set to true, this can avoid the vertical striping that anti-aliasing can generate. However, the rounding may not be appropriate for output in high resolution formats (for example, vector graphics formats such as SVG and PDF).
  • Constructor Details

    • StackedXYAreaRenderer2

      public StackedXYAreaRenderer2()
      Creates a new renderer.
    • StackedXYAreaRenderer2

      public StackedXYAreaRenderer2(XYToolTipGenerator labelGenerator, XYURLGenerator urlGenerator)
      Constructs a new renderer.
      Parameters:
      labelGenerator - the tool tip generator to use (null permitted).
      urlGenerator - the URL generator (null permitted).
  • Method Details

    • getRoundXCoordinates

      public boolean getRoundXCoordinates()
      Returns the flag that controls whether or not the x-coordinates (in Java2D space) are rounded to integer values.
      Returns:
      The flag.
      See Also:
    • setRoundXCoordinates

      public void setRoundXCoordinates(boolean round)
      Sets the flag that controls whether or not the x-coordinates (in Java2D space) are rounded to integer values, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      round - the new flag value.
      See Also:
    • 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 AbstractXYItemRenderer
      Parameters:
      dataset - the dataset (null permitted).
      Returns:
      The range (or null if the dataset is null or empty).
      See Also:
    • getPassCount

      public int getPassCount()
      Returns the number of passes required by the renderer.
      Specified by:
      getPassCount in interface XYItemRenderer
      Overrides:
      getPassCount in class AbstractXYItemRenderer
      Returns:
      1.
    • 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 XYAreaRenderer2
      Parameters:
      g2 - the graphics device.
      state - the renderer state.
      dataArea - the area within which the data 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 - information about crosshairs on a plot.
      pass - the pass index.
    • getStackValues

      private double[] getStackValues(TableXYDataset dataset, int series, int index)
      Calculates the stacked values (one positive and one negative) of all series up to, but not including, series for the specified item. It returns [0.0, 0.0] if series is the first series.
      Parameters:
      dataset - the dataset (null not permitted).
      series - the series index.
      index - the item index.
      Returns:
      An array containing the cumulative negative and positive values for all series values up to but excluding series for index.
    • averageStackValues

      private double[] averageStackValues(double[] stack1, double[] stack2)
      Returns a pair of "stack" values calculated as the mean of the two specified stack value pairs.
      Parameters:
      stack1 - the first stack pair.
      stack2 - the second stack pair.
      Returns:
      A pair of average stack values.
    • adjustedStackValues

      private double[] adjustedStackValues(double[] stack1, double[] stack2)
      Calculates adjusted stack values from the supplied values. The value is the mean of the supplied values, unless either of the supplied values is zero, in which case the adjusted value is zero also.
      Parameters:
      stack1 - the first stack pair.
      stack2 - the second stack pair.
      Returns:
      A pair of average stack values.
    • equals

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

      public Object clone() throws CloneNotSupportedException
      Returns a clone of the renderer.
      Specified by:
      clone in interface PublicCloneable
      Overrides:
      clone in class XYAreaRenderer2
      Returns:
      A clone.
      Throws:
      CloneNotSupportedException - if the renderer cannot be cloned.