Class XYBoxAndWhiskerRenderer

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

public class XYBoxAndWhiskerRenderer
extends AbstractXYItemRenderer
implements XYItemRenderer, Cloneable, PublicCloneable, Serializable
A renderer that draws box-and-whisker items on an XYPlot. This renderer requires a BoxAndWhiskerXYDataset). The example shown here is generated by theBoxAndWhiskerChartDemo2.java program included in the JFreeChart demo collection:

XYBoxAndWhiskerRendererSample.png

This renderer does not include any code to calculate the crosshair point.

See Also:
Serialized Form
  • Constructor Details

    • XYBoxAndWhiskerRenderer

      Creates a new renderer for box and whisker charts.
    • XYBoxAndWhiskerRenderer

      public XYBoxAndWhiskerRenderer​(double boxWidth)
      Creates a new renderer for box and whisker charts.

      Use -1 for the box width if you prefer the width to be calculated automatically.

      Parameters:
      boxWidth - the box width.
  • Method Details

    • getBoxWidth

      public double getBoxWidth()
      Returns the width of each box.
      Returns:
      The box width.
      See Also:
      setBoxWidth(double)
    • setBoxWidth

      public void setBoxWidth​(double width)
      Sets the box width and sends a RendererChangeEvent to all registered listeners.

      If you set the width to a negative value, the renderer will calculate the box width automatically based on the space available on the chart.

      Parameters:
      width - the width.
      See Also:
      getBoxWidth()
    • getBoxPaint

      public Paint getBoxPaint()
      Returns the paint used to fill boxes.
      Returns:
      The paint (possibly null).
      See Also:
      setBoxPaint(Paint)
    • setBoxPaint

      public void setBoxPaint​(Paint paint)
      Sets the paint used to fill boxes and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null permitted).
      See Also:
      getBoxPaint()
    • getFillBox

      public boolean getFillBox()
      Returns the flag that controls whether or not the box is filled.
      Returns:
      A boolean.
      See Also:
      setFillBox(boolean)
    • setFillBox

      public void setFillBox​(boolean flag)
      Sets the flag that controls whether or not the box is filled and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      flag - the flag.
      See Also:
      setFillBox(boolean)
    • getArtifactPaint

      Returns the paint used to paint the various artifacts such as outliers, farout symbol, median line and the averages ellipse.
      Returns:
      The paint (never null).
      See Also:
      setArtifactPaint(Paint)
    • setArtifactPaint

      public void setArtifactPaint​(Paint paint)
      Sets the paint used to paint the various artifacts such as outliers, farout symbol, median line and the averages ellipse, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null not permitted).
      See Also:
      getArtifactPaint()
    • 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 (null if the dataset is null or empty).
      See Also:
      AbstractXYItemRenderer.findDomainBounds(XYDataset)
    • lookupBoxPaint

      protected Paint lookupBoxPaint​(int series, int item)
      Returns the box paint or, if this is null, the item paint.
      Parameters:
      series - the series index.
      item - the item index.
      Returns:
      The paint used to fill the box for the specified item (never null).
    • 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
      Parameters:
      g2 - the graphics device.
      state - the renderer state.
      dataArea - the area within which the plot is being drawn.
      info - collects info 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 (must be an instance of BoxAndWhiskerXYDataset).
      series - the series index (zero-based).
      item - the item index (zero-based).
      crosshairState - crosshair information for the plot (null permitted).
      pass - the pass index.
    • drawHorizontalItem

      public void drawHorizontalItem​(Graphics2D g2, 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.
      Parameters:
      g2 - the graphics device.
      dataArea - the area within which the plot is being drawn.
      info - collects info 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 (must be an instance of BoxAndWhiskerXYDataset).
      series - the series index (zero-based).
      item - the item index (zero-based).
      crosshairState - crosshair information for the plot (null permitted).
      pass - the pass index.
    • drawVerticalItem

      public void drawVerticalItem​(Graphics2D g2, 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.
      Parameters:
      g2 - the graphics device.
      dataArea - the area within which the plot is being drawn.
      info - collects info 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 (must be an instance of BoxAndWhiskerXYDataset).
      series - the series index (zero-based).
      item - the item index (zero-based).
      crosshairState - crosshair information for the plot (null permitted).
      pass - the pass index.
    • drawEllipse

      protected void drawEllipse​(Point2D point, double oRadius, Graphics2D g2)
      Draws an ellipse to represent an outlier.
      Parameters:
      point - the location.
      oRadius - the radius.
      g2 - the graphics device.
    • drawMultipleEllipse

      protected void drawMultipleEllipse​(Point2D point, double boxWidth, double oRadius, Graphics2D g2)
      Draws two ellipses to represent overlapping outliers.
      Parameters:
      point - the location.
      boxWidth - the box width.
      oRadius - the radius.
      g2 - the graphics device.
    • drawHighFarOut

      protected void drawHighFarOut​(double aRadius, Graphics2D g2, double xx, double m)
      Draws a triangle to indicate the presence of far out values.
      Parameters:
      aRadius - the radius.
      g2 - the graphics device.
      xx - the x value.
      m - the max y value.
    • drawLowFarOut

      protected void drawLowFarOut​(double aRadius, Graphics2D g2, double xx, double m)
      Draws a triangle to indicate the presence of far out values.
      Parameters:
      aRadius - the radius.
      g2 - the graphics device.
      xx - the x value.
      m - the min y value.
    • equals

      public boolean equals​(Object obj)
      Tests this renderer for equality with another object.
      Overrides:
      equals in class AbstractXYItemRenderer
      Parameters:
      obj - the object (null permitted).
      Returns:
      true or false.
    • clone

      Returns a clone of the renderer.
      Specified by:
      clone in interface PublicCloneable
      Overrides:
      clone in class AbstractXYItemRenderer
      Returns:
      A clone.
      Throws:
      CloneNotSupportedException - if the renderer cannot be cloned.