Class WaterfallBarRenderer

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, LegendItemSource, CategoryItemRenderer, org.jfree.util.PublicCloneable

    public class WaterfallBarRenderer
    extends BarRenderer
    A renderer that handles the drawing of waterfall bar charts, for use with the CategoryPlot class. Some quirks to note:
    • the value in the last category of the dataset should be (redundantly) specified as the sum of the items in the preceding categories - otherwise the final bar in the plot will be incorrectly plotted;
    • the bar colors are defined using special methods in this class - the inherited methods (for example, AbstractRenderer.setSeriesPaint(int, Paint)) are ignored;
    The example shown here is generated by the WaterfallChartDemo1.java program included in the JFreeChart Demo Collection:

    WaterfallBarRendererSample.png
    See Also:
    Serialized Form
    • Constructor Detail

      • WaterfallBarRenderer

        public WaterfallBarRenderer()
        Constructs a new renderer with default values for the bar colors.
      • WaterfallBarRenderer

        public WaterfallBarRenderer​(java.awt.Paint firstBarPaint,
                                    java.awt.Paint positiveBarPaint,
                                    java.awt.Paint negativeBarPaint,
                                    java.awt.Paint lastBarPaint)
        Constructs a new waterfall renderer.
        Parameters:
        firstBarPaint - the color of the first bar (null not permitted).
        positiveBarPaint - the color for bars with positive values (null not permitted).
        negativeBarPaint - the color for bars with negative values (null not permitted).
        lastBarPaint - the color of the last bar (null not permitted).
    • Method Detail

      • getFirstBarPaint

        public java.awt.Paint getFirstBarPaint()
        Returns the paint used to draw the first bar.
        Returns:
        The paint (never null).
      • setFirstBarPaint

        public void setFirstBarPaint​(java.awt.Paint paint)
        Sets the paint that will be used to draw the first bar and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        paint - the paint (null not permitted).
      • getLastBarPaint

        public java.awt.Paint getLastBarPaint()
        Returns the paint used to draw the last bar.
        Returns:
        The paint (never null).
      • setLastBarPaint

        public void setLastBarPaint​(java.awt.Paint paint)
        Sets the paint that will be used to draw the last bar and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        paint - the paint (null not permitted).
      • getPositiveBarPaint

        public java.awt.Paint getPositiveBarPaint()
        Returns the paint used to draw bars with positive values.
        Returns:
        The paint (never null).
      • setPositiveBarPaint

        public void setPositiveBarPaint​(java.awt.Paint paint)
        Sets the paint that will be used to draw bars having positive values.
        Parameters:
        paint - the paint (null not permitted).
      • getNegativeBarPaint

        public java.awt.Paint getNegativeBarPaint()
        Returns the paint used to draw bars with negative values.
        Returns:
        The paint (never null).
      • setNegativeBarPaint

        public void setNegativeBarPaint​(java.awt.Paint paint)
        Sets the paint that will be used to draw bars having negative values, and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        paint - the paint (null not permitted).
      • drawItem

        public void drawItem​(java.awt.Graphics2D g2,
                             CategoryItemRendererState state,
                             java.awt.geom.Rectangle2D dataArea,
                             CategoryPlot plot,
                             CategoryAxis domainAxis,
                             ValueAxis rangeAxis,
                             CategoryDataset dataset,
                             int row,
                             int column,
                             int pass)
        Draws the bar for a single (series, category) data item.
        Specified by:
        drawItem in interface CategoryItemRenderer
        Overrides:
        drawItem in class BarRenderer
        Parameters:
        g2 - the graphics device.
        state - the renderer state.
        dataArea - the data area.
        plot - the plot.
        domainAxis - the domain axis.
        rangeAxis - the range axis.
        dataset - the dataset.
        row - the row index (zero-based).
        column - the column index (zero-based).
        pass - the pass index.
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests an object for equality with this instance.
        Overrides:
        equals in class BarRenderer
        Parameters:
        obj - the object (null permitted).
        Returns:
        A boolean.