Class XYBoxAndWhiskerRenderer

    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        For serialization.
        See Also:
        Constant Field Values
      • boxWidth

        private double boxWidth
        The box width.
      • boxPaint

        private transient java.awt.Paint boxPaint
        The paint used to fill the box.
      • fillBox

        private boolean fillBox
        A flag that controls whether or not the box is filled.
      • artifactPaint

        private transient java.awt.Paint artifactPaint
        The paint used to draw various artifacts such as outliers, farout symbol, average ellipse and median line.
    • Constructor Detail

      • XYBoxAndWhiskerRenderer

        public 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 Detail

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

        public void setBoxPaint​(java.awt.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

        public java.awt.Paint 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​(java.awt.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()
      • lookupBoxPaint

        protected java.awt.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​(java.awt.Graphics2D g2,
                             XYItemRendererState state,
                             java.awt.geom.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​(java.awt.Graphics2D g2,
                                       java.awt.geom.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​(java.awt.Graphics2D g2,
                                     java.awt.geom.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​(java.awt.geom.Point2D point,
                                   double oRadius,
                                   java.awt.Graphics2D g2)
        Draws an ellipse to represent an outlier.
        Parameters:
        point - the location.
        oRadius - the radius.
        g2 - the graphics device.
      • drawMultipleEllipse

        protected void drawMultipleEllipse​(java.awt.geom.Point2D point,
                                           double boxWidth,
                                           double oRadius,
                                           java.awt.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,
                                      java.awt.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,
                                     java.awt.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​(java.lang.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.
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream stream)
                          throws java.io.IOException
        Provides serialization support.
        Parameters:
        stream - the output stream.
        Throws:
        java.io.IOException - if there is an I/O error.
      • readObject

        private void readObject​(java.io.ObjectInputStream stream)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Provides serialization support.
        Parameters:
        stream - the input stream.
        Throws:
        java.io.IOException - if there is an I/O error.
        java.lang.ClassNotFoundException - if there is a classpath problem.
      • clone

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