Class XYBoxAndWhiskerRenderer

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

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:
  • 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

      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:
    • getBoxPaint

      public Paint getBoxPaint()
      Returns the paint used to fill boxes.
      Returns:
      The paint (possibly null).
      See Also:
    • 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:
    • getFillBox

      public boolean getFillBox()
      Returns the flag that controls whether or not the box is filled.
      Returns:
      A boolean.
      See Also:
    • 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:
    • 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

      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:
    • 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:
    • 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.