Class StackedAreaRenderer

All Implemented Interfaces:
Serializable, Cloneable, LegendItemSource, CategoryItemRenderer, PublicCloneable

A renderer that draws stacked area charts for a CategoryPlot. The example shown here is generated by the StackedAreaChartDemo1.java program included in the JFreeChart Demo Collection:

StackedAreaRendererSample.png
See Also:
  • Constructor Details

    • StackedAreaRenderer

      Creates a new renderer.
    • StackedAreaRenderer

      public StackedAreaRenderer(boolean renderAsPercentages)
      Creates a new renderer.
      Parameters:
      renderAsPercentages - a flag that controls whether the data values are rendered as percentages.
  • Method Details

    • getRenderAsPercentages

      public boolean getRenderAsPercentages()
      Returns true if the renderer displays each item value as a percentage (so that the stacked areas add to 100%), and false otherwise.
      Returns:
      A boolean.
    • 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 areas add to 100%), and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      asPercentages - the flag.
    • getPassCount

      public int getPassCount()
      Returns the number of passes (2) required by this renderer. The first pass is used to draw the areas, the second pass is used to draw the item labels (if visible).
      Specified by:
      getPassCount in interface CategoryItemRenderer
      Overrides:
      getPassCount in class AbstractCategoryItemRenderer
      Returns:
      The number of passes required by the renderer.
    • findRangeBounds

      Returns the range of values the renderer requires to display all the items from the specified dataset.
      Specified by:
      findRangeBounds in interface CategoryItemRenderer
      Overrides:
      findRangeBounds in class AbstractCategoryItemRenderer
      Parameters:
      dataset - the dataset (null not permitted).
      Returns:
      The range (or null if the dataset is empty).
    • drawItem

      public void drawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
      Draw a single data item.
      Specified by:
      drawItem in interface CategoryItemRenderer
      Overrides:
      drawItem in class AreaRenderer
      Parameters:
      g2 - the graphics device.
      state - the renderer state.
      dataArea - the data plot area.
      plot - the plot.
      domainAxis - the domain axis.
      rangeAxis - the range axis.
      dataset - the data.
      row - the row index (zero-based).
      column - the column index (zero-based).
      pass - the pass index.
    • getStackValues

      protected double[] getStackValues(CategoryDataset dataset, int series, int index, int[] validRows)
      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.
      validRows - the valid rows.
      Returns:
      An array containing the cumulative negative and positive values for all series values up to but excluding series for index.
    • equals

      public boolean equals(Object obj)
      Checks this instance for equality with an arbitrary object.
      Overrides:
      equals in class AreaRenderer
      Parameters:
      obj - the object (null not permitted).
      Returns:
      A boolean.