## org.jfree.chart.renderer.xy
Interface XYItemRenderer

All Superinterfaces:
  LegendItemSource

All Known Implementing Classes:
  AbstractXYItemRenderer, CandlestickRenderer, ClusteredXYBarRenderer, CyclicXYItemRenderer, DefaultXYItemRenderer, DeviationRenderer, HighLowRenderer, StackedXYAreaRenderer, StackedXYAreaRenderer2, StackedXYBarRenderer, StandardXYItemRenderer, VectorRenderer, WindItemRenderer, XYAreaRenderer, XYAreaRenderer2, XYBarRenderer, XYBlockRenderer, XYBoxAndWhiskerRenderer, XYBubbleRenderer, XYDifferenceRenderer, XYDotRenderer, XYErrorRenderer, XYLine3DRenderer, XYLineAndShapeRenderer, XYSplineRenderer, XYStepAreaRenderer, XYStepRenderer, YIntervalRenderer

    public interface XYItemRenderer

extends LegendItemSource

Interface for rendering the visual representation of a single (x, y) item on an `XYPlot`.

To support cloning charts, it is recommended that renderers implement both the `Cloneable` and `PublicCloneable` interfaces.

Method Summary
`void` `addAnnotation(XYAnnotation annotation)` Adds an annotation and sends a `RendererChangeEvent` to all registered listeners.
`void` `addAnnotation(XYAnnotation annotation, org.jfree.ui.Layer layer)` Adds an annotation to the specified layer.
`void` `addChangeListener(RendererChangeListener listener)` Add a renderer change listener.
`void` `drawAnnotations(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, ValueAxis domainAxis, ValueAxis rangeAxis, org.jfree.ui.Layer layer, PlotRenderingInfo info)` Draws all the annotations for the specified layer.
`void` `drawDomainGridLine(java.awt.Graphics2D g2, XYPlot plot, ValueAxis axis, java.awt.geom.Rectangle2D dataArea, double value)` Draws a grid line against the domain axis.
`void` `drawDomainMarker(java.awt.Graphics2D g2, XYPlot plot, ValueAxis axis, Marker marker, java.awt.geom.Rectangle2D dataArea)` Draws the specified `marker` against the domain axis.
`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)` Called for each item to be plotted.
`void` `drawRangeLine(java.awt.Graphics2D g2, XYPlot plot, ValueAxis axis, java.awt.geom.Rectangle2D dataArea, double value, java.awt.Paint paint, java.awt.Stroke stroke)` Draws a grid line against the range axis.
`void` `drawRangeMarker(java.awt.Graphics2D g2, XYPlot plot, ValueAxis axis, Marker marker, java.awt.geom.Rectangle2D dataArea)` Draws a horizontal line across the chart to represent a 'range marker'.
`void` `fillDomainGridBand(java.awt.Graphics2D g2, XYPlot plot, ValueAxis axis, java.awt.geom.Rectangle2D dataArea, double start, double end)` Fills a band between two values on the axis.
`void` `fillRangeGridBand(java.awt.Graphics2D g2, XYPlot plot, ValueAxis axis, java.awt.geom.Rectangle2D dataArea, double start, double end)` Fills a band between two values on the range axis.
`Range` `findDomainBounds(XYDataset dataset)` Returns the lower and upper bounds (range) of the x-values in the specified dataset.
`Range` `findRangeBounds(XYDataset dataset)` Returns the lower and upper bounds (range) of the y-values in the specified dataset.
`java.awt.Font` `getBaseItemLabelFont()` Returns the base item label font (this is used when no other font setting is available).
`XYItemLabelGenerator` `getBaseItemLabelGenerator()` Returns the base item label generator.
`java.awt.Paint` `getBaseItemLabelPaint()` Returns the base item label paint.
`java.lang.Boolean` `getBaseItemLabelsVisible()` Returns the base setting for item label visibility.
`ItemLabelPosition` `getBaseNegativeItemLabelPosition()` Returns the base item label position for negative values.
`java.awt.Paint` `getBaseOutlinePaint()` Returns the base outline paint.
`java.awt.Stroke` `getBaseOutlineStroke()` Returns the base outline stroke.
`java.awt.Paint` `getBasePaint()` Returns the base paint.
`ItemLabelPosition` `getBasePositiveItemLabelPosition()` Returns the base positive item label position.
`boolean` `getBaseSeriesVisible()` Returns the base visibility for all series.
`boolean` `getBaseSeriesVisibleInLegend()` Returns the base visibility in the legend for all series.
`java.awt.Shape` `getBaseShape()` Returns the base shape.
`java.awt.Stroke` `getBaseStroke()` Returns the base stroke.
`XYToolTipGenerator` `getBaseToolTipGenerator()` Returns the base tool tip generator.
`java.awt.Font` `getItemLabelFont()` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `getSeriesItemLabelFont(int)` and `getBaseItemLabelFont()`.
`java.awt.Font` `getItemLabelFont(int row, int column)` Returns the font for an item label.
`XYItemLabelGenerator` `getItemLabelGenerator(int row, int column)` Returns the item label generator for a data item.
`java.awt.Paint` `getItemLabelPaint()` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `getSeriesItemLabelPaint(int)` and `getBaseItemLabelPaint()`.
`java.awt.Paint` `getItemLabelPaint(int row, int column)` Returns the paint used to draw an item label.
`java.awt.Paint` `getItemOutlinePaint(int row, int column)` Returns the paint used to outline data items as they are drawn.
`java.awt.Stroke` `getItemOutlineStroke(int row, int column)` Returns the stroke used to outline data items.
`java.awt.Paint` `getItemPaint(int row, int column)` Returns the paint used to fill data items as they are drawn.
`java.awt.Shape` `getItemShape(int row, int column)` Returns a shape used to represent a data item.
`java.awt.Stroke` `getItemStroke(int row, int column)` Returns the stroke used to draw data items.
`boolean` `getItemVisible(int series, int item)` Returns a boolean that indicates whether or not the specified item should be drawn (this is typically used to hide an entire series).
`LegendItem` `getLegendItem(int datasetIndex, int series)` Returns a legend item for a series from a dataset.
`XYSeriesLabelGenerator` `getLegendItemLabelGenerator()` Returns the legend item label generator.
`ItemLabelPosition` `getNegativeItemLabelPosition()` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `getSeriesNegativeItemLabelPosition(int)` and `getBaseNegativeItemLabelPosition()`.
`ItemLabelPosition` `getNegativeItemLabelPosition(int row, int column)` Returns the item label position for negative values.
`int` `getPassCount()` Returns the number of passes through the data required by the renderer.
`XYPlot` `getPlot()` Returns the plot that this renderer has been assigned to.
`ItemLabelPosition` `getPositiveItemLabelPosition()` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `getSeriesPositiveItemLabelPosition(int)` and `getBasePositiveItemLabelPosition()`.
`ItemLabelPosition` `getPositiveItemLabelPosition(int row, int column)` Returns the item label position for positive values.
`java.awt.Font` `getSeriesItemLabelFont(int series)` Returns the font for all the item labels in a series.
`XYItemLabelGenerator` `getSeriesItemLabelGenerator(int series)` Returns the item label generator for a series.
`java.awt.Paint` `getSeriesItemLabelPaint(int series)` Returns the paint used to draw the item labels for a series.
`ItemLabelPosition` `getSeriesNegativeItemLabelPosition(int series)` Returns the item label position for all negative values in a series.
`java.awt.Paint` `getSeriesOutlinePaint(int series)` Returns the paint used to outline an item drawn by the renderer.
`java.awt.Stroke` `getSeriesOutlineStroke(int series)` Returns the stroke used to outline the items in a series.
`java.awt.Paint` `getSeriesPaint(int series)` Returns the paint used to fill an item drawn by the renderer.
`ItemLabelPosition` `getSeriesPositiveItemLabelPosition(int series)` Returns the item label position for all positive values in a series.
`java.awt.Shape` `getSeriesShape(int series)` Returns a shape used to represent the items in a series.
`java.awt.Stroke` `getSeriesStroke(int series)` Returns the stroke used to draw the items in a series.
`XYToolTipGenerator` `getSeriesToolTipGenerator(int series)` Returns the tool tip generator for a series.
`java.lang.Boolean` `getSeriesVisible()` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `getSeriesVisible(int)` and `getBaseSeriesVisible()`.
`java.lang.Boolean` `getSeriesVisible(int series)` Returns the flag that controls whether a series is visible.
`java.lang.Boolean` `getSeriesVisibleInLegend()` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `getSeriesVisibleInLegend(int)` and `getBaseSeriesVisibleInLegend()`.
`java.lang.Boolean` `getSeriesVisibleInLegend(int series)` Returns the flag that controls whether a series is visible in the legend.
`XYToolTipGenerator` `getToolTipGenerator(int row, int column)` Returns the tool tip generator for a data item.
`XYURLGenerator` `getURLGenerator()` Returns the URL generator for HTML image maps.
`XYItemRendererState` `initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, XYPlot plot, XYDataset dataset, PlotRenderingInfo info)` Initialises the renderer then returns the number of 'passes' through the data that the renderer will require (usually just one).
`boolean` `isItemLabelVisible(int row, int column)` Returns `true` if an item label is visible, and `false` otherwise.
`boolean` `isSeriesItemLabelsVisible(int series)` Returns `true` if the item labels for a series are visible, and `false` otherwise.
`boolean` `isSeriesVisible(int series)` Returns a boolean that indicates whether or not the specified series should be drawn (this is typically used to hide an entire series).
`boolean` `isSeriesVisibleInLegend(int series)` Returns `true` if the series should be shown in the legend, and `false` otherwise.
`boolean` `removeAnnotation(XYAnnotation annotation)` Removes the specified annotation and sends a `RendererChangeEvent` to all registered listeners.
`void` `removeAnnotations()` Removes all annotations and sends a `RendererChangeEvent` to all registered listeners.
`void` `removeChangeListener(RendererChangeListener listener)` Removes a change listener.
`void` `setBaseItemLabelFont(java.awt.Font font)` Sets the base item label font and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseItemLabelGenerator(XYItemLabelGenerator generator)` Sets the base item label generator and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseItemLabelPaint(java.awt.Paint paint)` Sets the base item label paint and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseItemLabelsVisible(boolean visible)` Sets the base flag that controls whether or not item labels are visible.
`void` `setBaseItemLabelsVisible(java.lang.Boolean visible)` Sets the base setting for item label visibility.
`void` `setBaseItemLabelsVisible(java.lang.Boolean visible, boolean notify)` Sets the base visibility for item labels and, if requested, sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseNegativeItemLabelPosition(ItemLabelPosition position)` Sets the base item label position for negative values and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseNegativeItemLabelPosition(ItemLabelPosition position, boolean notify)` Sets the base negative item label position and, if requested, sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseOutlinePaint(java.awt.Paint paint)` Sets the base outline paint and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseOutlineStroke(java.awt.Stroke stroke)` Sets the base outline stroke and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBasePaint(java.awt.Paint paint)` Sets the base paint and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBasePositiveItemLabelPosition(ItemLabelPosition position)` Sets the base positive item label position.
`void` `setBasePositiveItemLabelPosition(ItemLabelPosition position, boolean notify)` Sets the base positive item label position and, if requested, sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseSeriesVisible(boolean visible)` Sets the base visibility and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseSeriesVisible(boolean visible, boolean notify)` Sets the base visibility and, if requested, sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseSeriesVisibleInLegend(boolean visible)` Sets the base visibility in the legend and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseSeriesVisibleInLegend(boolean visible, boolean notify)` Sets the base visibility in the legend and, if requested, sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseShape(java.awt.Shape shape)` Sets the base shape and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseStroke(java.awt.Stroke stroke)` Sets the base stroke.
`void` `setBaseToolTipGenerator(XYToolTipGenerator generator)` Sets the base tool tip generator and sends a `RendererChangeEvent` to all registered listeners.
`void` `setItemLabelFont(java.awt.Font font)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesItemLabelFont(int, Font)` and `setBaseItemLabelFont(Font)`.
`void` `setItemLabelGenerator(XYItemLabelGenerator generator)` Deprecated. As of version 1.0.6, this override setting should not be used. You can use the base setting instead (`setBaseItemLabelGenerator(XYItemLabelGenerator)`).
`void` `setItemLabelPaint(java.awt.Paint paint)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesItemLabelPaint(int, Paint)` and `setBaseItemLabelPaint(Paint)`.
`void` `setItemLabelsVisible(boolean visible)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesItemLabelsVisible(int, Boolean)` and `setBaseItemLabelsVisible(boolean)`.
`void` `setItemLabelsVisible(java.lang.Boolean visible)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesItemLabelsVisible(int, Boolean)` and `setBaseItemLabelsVisible(boolean)`.
`void` `setItemLabelsVisible(java.lang.Boolean visible, boolean notify)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesItemLabelsVisible(int, Boolean, boolean)` and `setBaseItemLabelsVisible(Boolean, boolean)`.
`void` `setLegendItemLabelGenerator(XYSeriesLabelGenerator generator)` Sets the legend item label generator.
`void` `setNegativeItemLabelPosition(ItemLabelPosition position)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesNegativeItemLabelPosition(int, ItemLabelPosition)` and `setBaseNegativeItemLabelPosition(ItemLabelPosition)`.
`void` `setNegativeItemLabelPosition(ItemLabelPosition position, boolean notify)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesNegativeItemLabelPosition(int, ItemLabelPosition, boolean)` and `setBaseNegativeItemLabelPosition( ItemLabelPosition, boolean)`.
`void` `setOutlinePaint(java.awt.Paint paint)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesOutlinePaint(int, Paint)` and `setBaseOutlinePaint(Paint)`.
`void` `setOutlineStroke(java.awt.Stroke stroke)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesOutlineStroke(int, Stroke)` and `setBaseOutlineStroke(Stroke)`.
`void` `setPaint(java.awt.Paint paint)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesPaint(int, Paint)` and `setBasePaint(Paint)`.
`void` `setPlot(XYPlot plot)` Sets the plot that this renderer is assigned to.
`void` `setPositiveItemLabelPosition(ItemLabelPosition position)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesPositiveItemLabelPosition(int, ItemLabelPosition)` and `setBasePositiveItemLabelPosition(ItemLabelPosition)`.
`void` `setPositiveItemLabelPosition(ItemLabelPosition position, boolean notify)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesPositiveItemLabelPosition(int, ItemLabelPosition, boolean)` and `setBasePositiveItemLabelPosition( ItemLabelPosition, boolean)`.
`void` `setSeriesItemLabelFont(int series, java.awt.Font font)` Sets the item label font for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesItemLabelGenerator(int series, XYItemLabelGenerator generator)` Sets the item label generator for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesItemLabelPaint(int series, java.awt.Paint paint)` Sets the item label paint for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesItemLabelsVisible(int series, boolean visible)` Sets a flag that controls the visibility of the item labels for a series.
`void` `setSeriesItemLabelsVisible(int series, java.lang.Boolean visible)` Sets a flag that controls the visibility of the item labels for a series.
`void` `setSeriesItemLabelsVisible(int series, java.lang.Boolean visible, boolean notify)` Sets the visibility of item labels for a series and, if requested, sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesNegativeItemLabelPosition(int series, ItemLabelPosition position)` Sets the item label position for negative values in a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesNegativeItemLabelPosition(int series, ItemLabelPosition position, boolean notify)` Sets the item label position for negative values in a series and (if requested) sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesOutlinePaint(int series, java.awt.Paint paint)` Sets the paint used for a series outline and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesOutlineStroke(int series, java.awt.Stroke stroke)` Sets the outline stroke used for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesPaint(int series, java.awt.Paint paint)` Sets the paint used for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesPositiveItemLabelPosition(int series, ItemLabelPosition position)` Sets the item label position for all positive values in a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesPositiveItemLabelPosition(int series, ItemLabelPosition position, boolean notify)` Sets the item label position for all positive values in a series and (if requested) sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesShape(int series, java.awt.Shape shape)` Sets the shape used for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesStroke(int series, java.awt.Stroke stroke)` Sets the stroke used for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesToolTipGenerator(int series, XYToolTipGenerator generator)` Sets the tool tip generator for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesVisible(java.lang.Boolean visible)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesVisible(int, Boolean)` and `setBaseSeriesVisible(boolean)`.
`void` `setSeriesVisible(java.lang.Boolean visible, boolean notify)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesVisible(int, Boolean, boolean)` and `setBaseSeriesVisible(boolean, boolean)`.
`void` `setSeriesVisible(int series, java.lang.Boolean visible)` Sets the flag that controls whether a series is visible and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesVisible(int series, java.lang.Boolean visible, boolean notify)` Sets the flag that controls whether a series is visible and, if requested, sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesVisibleInLegend(java.lang.Boolean visible)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesVisibleInLegend(int, Boolean)` and `setBaseSeriesVisibleInLegend(boolean)`.
`void` `setSeriesVisibleInLegend(java.lang.Boolean visible, boolean notify)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesVisibleInLegend(int, Boolean, boolean)` and `setBaseSeriesVisibleInLegend(boolean, boolean)`.
`void` `setSeriesVisibleInLegend(int series, java.lang.Boolean visible)` Sets the flag that controls whether a series is visible in the legend and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesVisibleInLegend(int series, java.lang.Boolean visible, boolean notify)` Sets the flag that controls whether a series is visible in the legend and, if requested, sends a `RendererChangeEvent` to all registered listeners.
`void` `setShape(java.awt.Shape shape)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesShape(int, Shape)` and `setBaseShape(Shape)`.
`void` `setStroke(java.awt.Stroke stroke)` Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesStroke(int, Stroke)` and `setBaseStroke(Stroke)`.
`void` `setToolTipGenerator(XYToolTipGenerator generator)` Deprecated. As of version 1.0.6, this override setting should not be used. You can use the base setting instead (`setBaseToolTipGenerator(XYToolTipGenerator)`).
`void` `setURLGenerator(XYURLGenerator urlGenerator)` Sets the URL generator for HTML image maps.

Methods inherited from interface org.jfree.chart.LegendItemSource
`getLegendItems`

Method Detail

### initialise

    XYItemRendererState initialise(java.awt.Graphics2D g2,
                                   java.awt.geom.Rectangle2D dataArea,
                                   XYPlot plot,
                                   XYDataset dataset,
                                   PlotRenderingInfo info)

  Initialises the renderer then returns the number of 'passes' through the data that the renderer will require (usually just one). This method will be called before the first item is rendered, giving the renderer an opportunity to initialise any state information it wants to maintain. The renderer can do nothing if it chooses.

  Parameters:
    `g2` - the graphics device.
    `dataArea` - the area inside the axes.
    `plot` - the plot.
    `dataset` - the dataset.
    `info` - an optional info collection object to return data back to the caller.
  Returns:
    The number of passes the renderer requires.

### getPassCount

    int getPassCount()

  Returns the number of passes through the data required by the renderer.

  Returns:
    The pass count.

### getItemVisible

    boolean getItemVisible(int series,
                           int item)

  Returns a boolean that indicates whether or not the specified item should be drawn (this is typically used to hide an entire series).

  Parameters:
    `series` - the series index.
    `item` - the item index.
  Returns:
    A boolean.

### isSeriesVisible

    boolean isSeriesVisible(int series)

  Returns a boolean that indicates whether or not the specified series should be drawn (this is typically used to hide an entire series).

  Parameters:
    `series` - the series index.
  Returns:
    A boolean.

### getSeriesVisible

    java.lang.Boolean getSeriesVisible()

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `getSeriesVisible(int)` and `getBaseSeriesVisible()`.

  Returns the flag that controls the visibility of ALL series. This flag overrides the per series and default settings - you must set it to `null` if you want the other settings to apply.

  Returns:
    The flag (possibly `null`).

### setSeriesVisible

    void setSeriesVisible(java.lang.Boolean visible)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesVisible(int, Boolean)` and `setBaseSeriesVisible(boolean)`.

  Sets the flag that controls the visibility of ALL series and sends a `RendererChangeEvent` to all registered listeners. This flag overrides the per series and default settings - you must set it to `null` if you want the other settings to apply.

  Parameters:
    `visible` - the flag (`null` permitted).

### setSeriesVisible

    void setSeriesVisible(java.lang.Boolean visible,
                          boolean notify)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesVisible(int, Boolean, boolean)` and `setBaseSeriesVisible(boolean, boolean)`.

  Sets the flag that controls the visibility of ALL series and sends a `RendererChangeEvent` to all registered listeners. This flag overrides the per series and default settings - you must set it to `null` if you want the other settings to apply.

  Parameters:
    `visible` - the flag (`null` permitted).
    `notify` - notify listeners?

### getSeriesVisible

    java.lang.Boolean getSeriesVisible(int series)

  Returns the flag that controls whether a series is visible.

  Parameters:
    `series` - the series index (zero-based).
  Returns:
    The flag (possibly `null`).

### setSeriesVisible

    void setSeriesVisible(int series,
                          java.lang.Boolean visible)

  Sets the flag that controls whether a series is visible and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `visible` - the flag (`null` permitted).

### setSeriesVisible

    void setSeriesVisible(int series,
                          java.lang.Boolean visible,
                          boolean notify)

  Sets the flag that controls whether a series is visible and, if requested, sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index.
    `visible` - the flag (`null` permitted).
    `notify` - notify listeners?

### getBaseSeriesVisible

    boolean getBaseSeriesVisible()

  Returns the base visibility for all series.

  Returns:
    The base visibility.

### setBaseSeriesVisible

    void setBaseSeriesVisible(boolean visible)

  Sets the base visibility and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `visible` - the flag.

### setBaseSeriesVisible

    void setBaseSeriesVisible(boolean visible,
                              boolean notify)

  Sets the base visibility and, if requested, sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `visible` - the visibility.
    `notify` - notify listeners?

### isSeriesVisibleInLegend

    boolean isSeriesVisibleInLegend(int series)

  Returns `true` if the series should be shown in the legend, and `false` otherwise.

  Parameters:
    `series` - the series index.
  Returns:
    A boolean.

### getSeriesVisibleInLegend

    java.lang.Boolean getSeriesVisibleInLegend()

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `getSeriesVisibleInLegend(int)` and `getBaseSeriesVisibleInLegend()`.

  Returns the flag that controls the visibility of ALL series in the legend. This flag overrides the per series and default settings - you must set it to `null` if you want the other settings to apply.

  Returns:
    The flag (possibly `null`).

### setSeriesVisibleInLegend

    void setSeriesVisibleInLegend(java.lang.Boolean visible)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesVisibleInLegend(int, Boolean)` and `setBaseSeriesVisibleInLegend(boolean)`.

  Sets the flag that controls the visibility of ALL series in the legend and sends a `RendererChangeEvent` to all registered listeners. This flag overrides the per series and default settings - you must set it to `null` if you want the other settings to apply.

  Parameters:
    `visible` - the flag (`null` permitted).

### setSeriesVisibleInLegend

    void setSeriesVisibleInLegend(java.lang.Boolean visible,
                                  boolean notify)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesVisibleInLegend(int, Boolean, boolean)` and `setBaseSeriesVisibleInLegend(boolean, boolean)`.

  Sets the flag that controls the visibility of ALL series in the legend and sends a `RendererChangeEvent` to all registered listeners. This flag overrides the per series and default settings - you must set it to `null` if you want the other settings to apply.

  Parameters:
    `visible` - the flag (`null` permitted).
    `notify` - notify listeners?

### getSeriesVisibleInLegend

    java.lang.Boolean getSeriesVisibleInLegend(int series)

  Returns the flag that controls whether a series is visible in the legend. This method returns only the "per series" settings - to incorporate the override and base settings as well, you need to use the `isSeriesVisibleInLegend(int)` method.

  Parameters:
    `series` - the series index (zero-based).
  Returns:
    The flag (possibly `null`).

### setSeriesVisibleInLegend

    void setSeriesVisibleInLegend(int series,
                                  java.lang.Boolean visible)

  Sets the flag that controls whether a series is visible in the legend and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `visible` - the flag (`null` permitted).

### setSeriesVisibleInLegend

    void setSeriesVisibleInLegend(int series,
                                  java.lang.Boolean visible,
                                  boolean notify)

  Sets the flag that controls whether a series is visible in the legend and, if requested, sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index.
    `visible` - the flag (`null` permitted).
    `notify` - notify listeners?

### getBaseSeriesVisibleInLegend

    boolean getBaseSeriesVisibleInLegend()

  Returns the base visibility in the legend for all series.

  Returns:
    The base visibility.

### setBaseSeriesVisibleInLegend

    void setBaseSeriesVisibleInLegend(boolean visible)

  Sets the base visibility in the legend and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `visible` - the flag.

### setBaseSeriesVisibleInLegend

    void setBaseSeriesVisibleInLegend(boolean visible,
                                      boolean notify)

  Sets the base visibility in the legend and, if requested, sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `visible` - the visibility.
    `notify` - notify listeners?

### getItemPaint

    java.awt.Paint getItemPaint(int row,
                                int column)

  Returns the paint used to fill data items as they are drawn.

  Parameters:
    `row` - the row (or series) index (zero-based).
    `column` - the column (or category) index (zero-based).
  Returns:
    The paint (never `null`).

### getSeriesPaint

    java.awt.Paint getSeriesPaint(int series)

  Returns the paint used to fill an item drawn by the renderer.

  Parameters:
    `series` - the series index (zero-based).
  Returns:
    The paint (possibly `null`).

### setPaint

    void setPaint(java.awt.Paint paint)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesPaint(int, Paint)` and `setBasePaint(Paint)`.

  Sets the paint to be used for ALL series, and sends a `RendererChangeEvent` to all registered listeners. If this is `null`, the renderer will use the paint for the series.

  Parameters:
    `paint` - the paint (`null` permitted).

### setSeriesPaint

    void setSeriesPaint(int series,
                        java.awt.Paint paint)

  Sets the paint used for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `paint` - the paint (`null` permitted).

### getBasePaint

    java.awt.Paint getBasePaint()

  Returns the base paint.

  Returns:
    The base paint (never `null`).

### setBasePaint

    void setBasePaint(java.awt.Paint paint)

  Sets the base paint and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `paint` - the paint (`null` not permitted).

### getItemOutlinePaint

    java.awt.Paint getItemOutlinePaint(int row,
                                       int column)

  Returns the paint used to outline data items as they are drawn.

  Parameters:
    `row` - the row (or series) index (zero-based).
    `column` - the column (or category) index (zero-based).
  Returns:
    The paint (never `null`).

### getSeriesOutlinePaint

    java.awt.Paint getSeriesOutlinePaint(int series)

  Returns the paint used to outline an item drawn by the renderer.

  Parameters:
    `series` - the series (zero-based index).
  Returns:
    The paint (possibly `null`).

### setSeriesOutlinePaint

    void setSeriesOutlinePaint(int series,
                               java.awt.Paint paint)

  Sets the paint used for a series outline and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `paint` - the paint (`null` permitted).

### setOutlinePaint

    void setOutlinePaint(java.awt.Paint paint)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesOutlinePaint(int, Paint)` and `setBaseOutlinePaint(Paint)`.

  Sets the outline paint for ALL series (optional).

  Parameters:
    `paint` - the paint (`null` permitted).

### getBaseOutlinePaint

    java.awt.Paint getBaseOutlinePaint()

  Returns the base outline paint.

  Returns:
    The paint (never `null`).

### setBaseOutlinePaint

    void setBaseOutlinePaint(java.awt.Paint paint)

  Sets the base outline paint and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `paint` - the paint (`null` not permitted).

### getItemStroke

    java.awt.Stroke getItemStroke(int row,
                                  int column)

  Returns the stroke used to draw data items.

  Parameters:
    `row` - the row (or series) index (zero-based).
    `column` - the column (or category) index (zero-based).
  Returns:
    The stroke (never `null`).

### getSeriesStroke

    java.awt.Stroke getSeriesStroke(int series)

  Returns the stroke used to draw the items in a series.

  Parameters:
    `series` - the series (zero-based index).
  Returns:
    The stroke (possibly `null`).

### setStroke

    void setStroke(java.awt.Stroke stroke)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesStroke(int, Stroke)` and `setBaseStroke(Stroke)`.

  Sets the stroke for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `stroke` - the stroke (`null` permitted).

### setSeriesStroke

    void setSeriesStroke(int series,
                         java.awt.Stroke stroke)

  Sets the stroke used for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `stroke` - the stroke (`null` permitted).

### getBaseStroke

    java.awt.Stroke getBaseStroke()

  Returns the base stroke.

  Returns:
    The base stroke (never `null`).

### setBaseStroke

    void setBaseStroke(java.awt.Stroke stroke)

  Sets the base stroke.

  Parameters:
    `stroke` - the stroke (`null` not permitted).

### getItemOutlineStroke

    java.awt.Stroke getItemOutlineStroke(int row,
                                         int column)

  Returns the stroke used to outline data items. The default implementation passes control to the lookupSeriesOutlineStroke method. You can override this method if you require different behaviour.

  Parameters:
    `row` - the row (or series) index (zero-based).
    `column` - the column (or category) index (zero-based).
  Returns:
    The stroke (never `null`).

### getSeriesOutlineStroke

    java.awt.Stroke getSeriesOutlineStroke(int series)

  Returns the stroke used to outline the items in a series.

  Parameters:
    `series` - the series (zero-based index).
  Returns:
    The stroke (possibly `null`).

### setOutlineStroke

    void setOutlineStroke(java.awt.Stroke stroke)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesOutlineStroke(int, Stroke)` and `setBaseOutlineStroke(Stroke)`.

  Sets the outline stroke for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `stroke` - the stroke (`null` permitted).

### setSeriesOutlineStroke

    void setSeriesOutlineStroke(int series,
                                java.awt.Stroke stroke)

  Sets the outline stroke used for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `stroke` - the stroke (`null` permitted).

### getBaseOutlineStroke

    java.awt.Stroke getBaseOutlineStroke()

  Returns the base outline stroke.

  Returns:
    The stroke (never `null`).

### setBaseOutlineStroke

    void setBaseOutlineStroke(java.awt.Stroke stroke)

  Sets the base outline stroke and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `stroke` - the stroke (`null` not permitted).

### getItemShape

    java.awt.Shape getItemShape(int row,
                                int column)

  Returns a shape used to represent a data item.

  Parameters:
    `row` - the row (or series) index (zero-based).
    `column` - the column (or category) index (zero-based).
  Returns:
    The shape (never `null`).

### getSeriesShape

    java.awt.Shape getSeriesShape(int series)

  Returns a shape used to represent the items in a series.

  Parameters:
    `series` - the series (zero-based index).
  Returns:
    The shape (possibly `null`).

### setShape

    void setShape(java.awt.Shape shape)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesShape(int, Shape)` and `setBaseShape(Shape)`.

  Sets the shape for ALL series (optional) and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `shape` - the shape (`null` permitted).

### setSeriesShape

    void setSeriesShape(int series,
                        java.awt.Shape shape)

  Sets the shape used for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `shape` - the shape (`null` permitted).

### getBaseShape

    java.awt.Shape getBaseShape()

  Returns the base shape.

  Returns:
    The shape (never `null`).

### setBaseShape

    void setBaseShape(java.awt.Shape shape)

  Sets the base shape and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `shape` - the shape (`null` not permitted).

### isItemLabelVisible

    boolean isItemLabelVisible(int row,
                               int column)

  Returns `true` if an item label is visible, and `false` otherwise.

  Parameters:
    `row` - the row index (zero-based).
    `column` - the column index (zero-based).
  Returns:
    A boolean.

### isSeriesItemLabelsVisible

    boolean isSeriesItemLabelsVisible(int series)

  Returns `true` if the item labels for a series are visible, and `false` otherwise.

  Parameters:
    `series` - the series index (zero-based).
  Returns:
    A boolean.

### setItemLabelsVisible

    void setItemLabelsVisible(boolean visible)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesItemLabelsVisible(int, Boolean)` and `setBaseItemLabelsVisible(boolean)`.

  Sets a flag that controls whether or not the item labels for ALL series are visible.

  Parameters:
    `visible` - the flag.

### setItemLabelsVisible

    void setItemLabelsVisible(java.lang.Boolean visible)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesItemLabelsVisible(int, Boolean)` and `setBaseItemLabelsVisible(boolean)`.

  Sets a flag that controls whether or not the item labels for ALL series are visible.

  Parameters:
    `visible` - the flag (`null` permitted).

### setItemLabelsVisible

    void setItemLabelsVisible(java.lang.Boolean visible,
                              boolean notify)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesItemLabelsVisible(int, Boolean, boolean)` and `setBaseItemLabelsVisible(Boolean, boolean)`.

  Sets the visibility of item labels for ALL series and, if requested, sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `visible` - a flag that controls whether or not the item labels are visible (`null` permitted).
    `notify` - a flag that controls whether or not listeners are notified.

### setSeriesItemLabelsVisible

    void setSeriesItemLabelsVisible(int series,
                                    boolean visible)

  Sets a flag that controls the visibility of the item labels for a series.

  Parameters:
    `series` - the series index (zero-based).
    `visible` - the flag.

### setSeriesItemLabelsVisible

    void setSeriesItemLabelsVisible(int series,
                                    java.lang.Boolean visible)

  Sets a flag that controls the visibility of the item labels for a series.

  Parameters:
    `series` - the series index (zero-based).
    `visible` - the flag (`null` permitted).

### setSeriesItemLabelsVisible

    void setSeriesItemLabelsVisible(int series,
                                    java.lang.Boolean visible,
                                    boolean notify)

  Sets the visibility of item labels for a series and, if requested, sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `visible` - the visible flag.
    `notify` - a flag that controls whether or not listeners are notified.

### getBaseItemLabelsVisible

    java.lang.Boolean getBaseItemLabelsVisible()

  Returns the base setting for item label visibility.

  Returns:
    A flag (possibly `null`).

### setBaseItemLabelsVisible

    void setBaseItemLabelsVisible(boolean visible)

  Sets the base flag that controls whether or not item labels are visible.

  Parameters:
    `visible` - the flag.

### setBaseItemLabelsVisible

    void setBaseItemLabelsVisible(java.lang.Boolean visible)

  Sets the base setting for item label visibility.

  Parameters:
    `visible` - the flag (`null` permitted).

### setBaseItemLabelsVisible

    void setBaseItemLabelsVisible(java.lang.Boolean visible,
                                  boolean notify)

  Sets the base visibility for item labels and, if requested, sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `visible` - the visibility flag.
    `notify` - a flag that controls whether or not listeners are notified.

### getItemLabelGenerator

    XYItemLabelGenerator getItemLabelGenerator(int row,
                                               int column)

  Returns the item label generator for a data item.

  Parameters:
    `row` - the row index (zero based).
    `column` - the column index (zero based).
  Returns:
    The generator (possibly `null`).

### getSeriesItemLabelGenerator

    XYItemLabelGenerator getSeriesItemLabelGenerator(int series)

  Returns the item label generator for a series.

  Parameters:
    `series` - the series index (zero based).
  Returns:
    The generator (possibly `null`).

### setItemLabelGenerator

    void setItemLabelGenerator(XYItemLabelGenerator generator)

  Deprecated. As of version 1.0.6, this override setting should not be used. You can use the base setting instead (`setBaseItemLabelGenerator(XYItemLabelGenerator)`).

  Sets the item label generator for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `generator` - the generator (`null` permitted).

### setSeriesItemLabelGenerator

    void setSeriesItemLabelGenerator(int series,
                                     XYItemLabelGenerator generator)

  Sets the item label generator for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero based).
    `generator` - the generator (`null` permitted).

### getBaseItemLabelGenerator

    XYItemLabelGenerator getBaseItemLabelGenerator()

  Returns the base item label generator.

  Returns:
    The generator (possibly `null`).

### setBaseItemLabelGenerator

    void setBaseItemLabelGenerator(XYItemLabelGenerator generator)

  Sets the base item label generator and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `generator` - the generator (`null` permitted).

### getToolTipGenerator

    XYToolTipGenerator getToolTipGenerator(int row,
                                           int column)

  Returns the tool tip generator for a data item.

  Parameters:
    `row` - the row index (zero based).
    `column` - the column index (zero based).
  Returns:
    The generator (possibly `null`).

### getSeriesToolTipGenerator

    XYToolTipGenerator getSeriesToolTipGenerator(int series)

  Returns the tool tip generator for a series.

  Parameters:
    `series` - the series index (zero based).
  Returns:
    The generator (possibly `null`).

### setToolTipGenerator

    void setToolTipGenerator(XYToolTipGenerator generator)

  Deprecated. As of version 1.0.6, this override setting should not be used. You can use the base setting instead (`setBaseToolTipGenerator(XYToolTipGenerator)`).

  Sets the tool tip generator for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `generator` - the generator (`null` permitted).

### setSeriesToolTipGenerator

    void setSeriesToolTipGenerator(int series,
                                   XYToolTipGenerator generator)

  Sets the tool tip generator for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero based).
    `generator` - the generator (`null` permitted).

### getBaseToolTipGenerator

    XYToolTipGenerator getBaseToolTipGenerator()

  Returns the base tool tip generator.

  Returns:
    The generator (possibly `null`).

### setBaseToolTipGenerator

    void setBaseToolTipGenerator(XYToolTipGenerator generator)

  Sets the base tool tip generator and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `generator` - the generator (`null` permitted).

### getURLGenerator

    XYURLGenerator getURLGenerator()

  Returns the URL generator for HTML image maps.

  Returns:
    The URL generator (possibly null).

### setURLGenerator

    void setURLGenerator(XYURLGenerator urlGenerator)

  Sets the URL generator for HTML image maps.

  Parameters:
    `urlGenerator` - the URL generator (null permitted).

### getItemLabelFont

    java.awt.Font getItemLabelFont(int row,
                                   int column)

  Returns the font for an item label.

  Parameters:
    `row` - the row index (zero-based).
    `column` - the column index (zero-based).
  Returns:
    The font (never `null`).

### getItemLabelFont

    java.awt.Font getItemLabelFont()

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `getSeriesItemLabelFont(int)` and `getBaseItemLabelFont()`.

  Returns the font used for all item labels. This may be `null`, in which case the per series font settings will apply.

  Returns:
    The font (possibly `null`).

### setItemLabelFont

    void setItemLabelFont(java.awt.Font font)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesItemLabelFont(int, Font)` and `setBaseItemLabelFont(Font)`.

  Sets the item label font for ALL series and sends a `RendererChangeEvent` to all registered listeners. You can set this to `null` if you prefer to set the font on a per series basis.

  Parameters:
    `font` - the font (`null` permitted).

### getSeriesItemLabelFont

    java.awt.Font getSeriesItemLabelFont(int series)

  Returns the font for all the item labels in a series.

  Parameters:
    `series` - the series index (zero-based).
  Returns:
    The font (possibly `null`).

### setSeriesItemLabelFont

    void setSeriesItemLabelFont(int series,
                                java.awt.Font font)

  Sets the item label font for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `font` - the font (`null` permitted).

### getBaseItemLabelFont

    java.awt.Font getBaseItemLabelFont()

  Returns the base item label font (this is used when no other font setting is available).

  Returns:
    The font (`never` null).

### setBaseItemLabelFont

    void setBaseItemLabelFont(java.awt.Font font)

  Sets the base item label font and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `font` - the font (`null` not permitted).

### getItemLabelPaint

    java.awt.Paint getItemLabelPaint(int row,
                                     int column)

  Returns the paint used to draw an item label.

  Parameters:
    `row` - the row index (zero based).
    `column` - the column index (zero based).
  Returns:
    The paint (never `null`).

### getItemLabelPaint

    java.awt.Paint getItemLabelPaint()

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `getSeriesItemLabelPaint(int)` and `getBaseItemLabelPaint()`.

  Returns the paint used for all item labels. This may be `null`, in which case the per series paint settings will apply.

  Returns:
    The paint (possibly `null`).

### setItemLabelPaint

    void setItemLabelPaint(java.awt.Paint paint)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesItemLabelPaint(int, Paint)` and `setBaseItemLabelPaint(Paint)`.

  Sets the item label paint for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `paint` - the paint (`null` permitted).

### getSeriesItemLabelPaint

    java.awt.Paint getSeriesItemLabelPaint(int series)

  Returns the paint used to draw the item labels for a series.

  Parameters:
    `series` - the series index (zero based).
  Returns:
    The paint (possibly `null`).``

### setSeriesItemLabelPaint

    void setSeriesItemLabelPaint(int series,
                                 java.awt.Paint paint)

  Sets the item label paint for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series (zero based index).
    `paint` - the paint (`null` permitted).

### getBaseItemLabelPaint

    java.awt.Paint getBaseItemLabelPaint()

  Returns the base item label paint.

  Returns:
    The paint (never `null`).``

### setBaseItemLabelPaint

    void setBaseItemLabelPaint(java.awt.Paint paint)

  Sets the base item label paint and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `paint` - the paint (`null` not permitted).

### getPositiveItemLabelPosition

    ItemLabelPosition getPositiveItemLabelPosition(int row,
                                                   int column)

  Returns the item label position for positive values.

  Parameters:
    `row` - the row index (zero-based).
    `column` - the column index (zero-based).
  Returns:
    The item label position (never `null`).

### getPositiveItemLabelPosition

    ItemLabelPosition getPositiveItemLabelPosition()

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `getSeriesPositiveItemLabelPosition(int)` and `getBasePositiveItemLabelPosition()`.

  Returns the item label position for positive values in ALL series.

  Returns:
    The item label position (possibly `null`).

### setPositiveItemLabelPosition

    void setPositiveItemLabelPosition(ItemLabelPosition position)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesPositiveItemLabelPosition(int, ItemLabelPosition)` and `setBasePositiveItemLabelPosition(ItemLabelPosition)`.

  Sets the item label position for positive values in ALL series, and sends a `RendererChangeEvent` to all registered listeners. You need to set this to `null` to expose the settings for individual series.

  Parameters:
    `position` - the position (`null` permitted).

### setPositiveItemLabelPosition

    void setPositiveItemLabelPosition(ItemLabelPosition position,
                                      boolean notify)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesPositiveItemLabelPosition(int, ItemLabelPosition, boolean)` and `setBasePositiveItemLabelPosition( ItemLabelPosition, boolean)`.

  Sets the positive item label position for ALL series and (if requested) sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `position` - the position (`null` permitted).
    `notify` - notify registered listeners?

### getSeriesPositiveItemLabelPosition

    ItemLabelPosition getSeriesPositiveItemLabelPosition(int series)

  Returns the item label position for all positive values in a series.

  Parameters:
    `series` - the series index (zero-based).
  Returns:
    The item label position (never `null`).

### setSeriesPositiveItemLabelPosition

    void setSeriesPositiveItemLabelPosition(int series,
                                            ItemLabelPosition position)

  Sets the item label position for all positive values in a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `position` - the position (`null` permitted).

### setSeriesPositiveItemLabelPosition

    void setSeriesPositiveItemLabelPosition(int series,
                                            ItemLabelPosition position,
                                            boolean notify)

  Sets the item label position for all positive values in a series and (if requested) sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `position` - the position (`null` permitted).
    `notify` - notify registered listeners?

### getBasePositiveItemLabelPosition

    ItemLabelPosition getBasePositiveItemLabelPosition()

  Returns the base positive item label position.

  Returns:
    The position (never `null`).

### setBasePositiveItemLabelPosition

    void setBasePositiveItemLabelPosition(ItemLabelPosition position)

  Sets the base positive item label position.

  Parameters:
    `position` - the position (`null` not permitted).

### setBasePositiveItemLabelPosition

    void setBasePositiveItemLabelPosition(ItemLabelPosition position,
                                          boolean notify)

  Sets the base positive item label position and, if requested, sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `position` - the position (`null` not permitted).
    `notify` - notify registered listeners?

### getNegativeItemLabelPosition

    ItemLabelPosition getNegativeItemLabelPosition(int row,
                                                   int column)

  Returns the item label position for negative values. This method can be overridden to provide customisation of the item label position for individual data items.

  Parameters:
    `row` - the row index (zero-based).
    `column` - the column (zero-based).
  Returns:
    The item label position (never `null`).

### getNegativeItemLabelPosition

    ItemLabelPosition getNegativeItemLabelPosition()

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `getSeriesNegativeItemLabelPosition(int)` and `getBaseNegativeItemLabelPosition()`.

  Returns the item label position for negative values in ALL series.

  Returns:
    The item label position (possibly `null`).

### setNegativeItemLabelPosition

    void setNegativeItemLabelPosition(ItemLabelPosition position)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesNegativeItemLabelPosition(int, ItemLabelPosition)` and `setBaseNegativeItemLabelPosition(ItemLabelPosition)`.

  Sets the item label position for negative values in ALL series, and sends a `RendererChangeEvent` to all registered listeners. You need to set this to `null` to expose the settings for individual series.

  Parameters:
    `position` - the position (`null` permitted).

### setNegativeItemLabelPosition

    void setNegativeItemLabelPosition(ItemLabelPosition position,
                                      boolean notify)

  Deprecated. This method should no longer be used (as of version 1.0.6). It is sufficient to rely on `setSeriesNegativeItemLabelPosition(int, ItemLabelPosition, boolean)` and `setBaseNegativeItemLabelPosition( ItemLabelPosition, boolean)`.

  Sets the item label position for negative values in ALL series and (if requested) sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `position` - the position (`null` permitted).
    `notify` - notify registered listeners?

### getSeriesNegativeItemLabelPosition

    ItemLabelPosition getSeriesNegativeItemLabelPosition(int series)

  Returns the item label position for all negative values in a series.

  Parameters:
    `series` - the series index (zero-based).
  Returns:
    The item label position (never `null`).

### setSeriesNegativeItemLabelPosition

    void setSeriesNegativeItemLabelPosition(int series,
                                            ItemLabelPosition position)

  Sets the item label position for negative values in a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `position` - the position (`null` permitted).

### setSeriesNegativeItemLabelPosition

    void setSeriesNegativeItemLabelPosition(int series,
                                            ItemLabelPosition position,
                                            boolean notify)

  Sets the item label position for negative values in a series and (if requested) sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `position` - the position (`null` permitted).
    `notify` - notify registered listeners?

### getBaseNegativeItemLabelPosition

    ItemLabelPosition getBaseNegativeItemLabelPosition()

  Returns the base item label position for negative values.

  Returns:
    The position (never `null`).

### setBaseNegativeItemLabelPosition

    void setBaseNegativeItemLabelPosition(ItemLabelPosition position)

  Sets the base item label position for negative values and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `position` - the position (`null` not permitted).

### setBaseNegativeItemLabelPosition

    void setBaseNegativeItemLabelPosition(ItemLabelPosition position,
                                          boolean notify)

  Sets the base negative item label position and, if requested, sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `position` - the position (`null` not permitted).
    `notify` - notify registered listeners?

### addAnnotation

    void addAnnotation(XYAnnotation annotation)

  Adds an annotation and sends a `RendererChangeEvent` to all registered listeners. The annotation is added to the foreground layer.

  Parameters:
    `annotation` - the annotation (`null` not permitted).

### addAnnotation

    void addAnnotation(XYAnnotation annotation,
                       org.jfree.ui.Layer layer)

  Adds an annotation to the specified layer.

  Parameters:
    `annotation` - the annotation (`null` not permitted).
    `layer` - the layer (`null` not permitted).

### removeAnnotation

    boolean removeAnnotation(XYAnnotation annotation)

  Removes the specified annotation and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `annotation` - the annotation to remove (`null` not permitted).
  Returns:
    A boolean to indicate whether or not the annotation was successfully removed.

### removeAnnotations

    void removeAnnotations()

  Removes all annotations and sends a `RendererChangeEvent` to all registered listeners.

### drawAnnotations

    void drawAnnotations(java.awt.Graphics2D g2,
                         java.awt.geom.Rectangle2D dataArea,
                         ValueAxis domainAxis,
                         ValueAxis rangeAxis,
                         org.jfree.ui.Layer layer,
                         PlotRenderingInfo info)

  Draws all the annotations for the specified layer.

  Parameters:
    `g2` - the graphics device.
    `dataArea` - the data area.
    `domainAxis` - the domain axis.
    `rangeAxis` - the range axis.
    `layer` - the layer.
    `info` - the plot rendering info.

### drawItem

    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)

  Called for each item to be plotted.

  The `XYPlot` can make multiple passes through the dataset, depending on the value returned by the renderer's initialise() method.

  Parameters:
    `g2` - the graphics device.
    `state` - the renderer state.
    `dataArea` - the area within which the data is being rendered.
    `info` - collects drawing info.
    `plot` - the plot (can be used to obtain standard color information etc).
    `domainAxis` - the domain axis.
    `rangeAxis` - the range axis.
    `dataset` - the dataset.
    `series` - the series index (zero-based).
    `item` - the item index (zero-based).
    `crosshairState` - crosshair information for the plot (`null` permitted).
    `pass` - the pass index.

### getLegendItem

    LegendItem getLegendItem(int datasetIndex,
                             int series)

  Returns a legend item for a series from a dataset.

  Parameters:
    `datasetIndex` - the dataset index.
    `series` - the series (zero-based index).
  Returns:
    The legend item (possibly `null`).

### getLegendItemLabelGenerator

    XYSeriesLabelGenerator getLegendItemLabelGenerator()

  Returns the legend item label generator.

  Returns:
    The legend item label generator (never `null`).

### setLegendItemLabelGenerator

    void setLegendItemLabelGenerator(XYSeriesLabelGenerator generator)

  Sets the legend item label generator.

  Parameters:
    `generator` - the generator (`null` not permitted).

### fillDomainGridBand

    void fillDomainGridBand(java.awt.Graphics2D g2,
                            XYPlot plot,
                            ValueAxis axis,
                            java.awt.geom.Rectangle2D dataArea,
                            double start,
                            double end)

  Fills a band between two values on the axis. This can be used to color bands between the grid lines.

  Parameters:
    `g2` - the graphics device.
    `plot` - the plot.
    `axis` - the domain axis.
    `dataArea` - the data area.
    `start` - the start value.
    `end` - the end value.

### fillRangeGridBand

    void fillRangeGridBand(java.awt.Graphics2D g2,
                           XYPlot plot,
                           ValueAxis axis,
                           java.awt.geom.Rectangle2D dataArea,
                           double start,
                           double end)

  Fills a band between two values on the range axis. This can be used to color bands between the grid lines.

  Parameters:
    `g2` - the graphics device.
    `plot` - the plot.
    `axis` - the range axis.
    `dataArea` - the data area.
    `start` - the start value.
    `end` - the end value.

### drawDomainGridLine

    void drawDomainGridLine(java.awt.Graphics2D g2,
                            XYPlot plot,
                            ValueAxis axis,
                            java.awt.geom.Rectangle2D dataArea,
                            double value)

  Draws a grid line against the domain axis.

  Parameters:
    `g2` - the graphics device.
    `plot` - the plot.
    `axis` - the value axis.
    `dataArea` - the area for plotting data (not yet adjusted for any 3D effect).
    `value` - the value.

### drawRangeLine

    void drawRangeLine(java.awt.Graphics2D g2,
                       XYPlot plot,
                       ValueAxis axis,
                       java.awt.geom.Rectangle2D dataArea,
                       double value,
                       java.awt.Paint paint,
                       java.awt.Stroke stroke)

  Draws a grid line against the range axis.

  Parameters:
    `g2` - the graphics device.
    `plot` - the plot.
    `axis` - the value axis.
    `dataArea` - the area for plotting data (not yet adjusted for any 3D effect).
    `value` - the value.
    `paint` - the paint (`null` not permitted).
    `stroke` - the stroke (`null` not permitted).

### drawDomainMarker

    void drawDomainMarker(java.awt.Graphics2D g2,
                          XYPlot plot,
                          ValueAxis axis,
                          Marker marker,
                          java.awt.geom.Rectangle2D dataArea)

  Draws the specified `marker` against the domain axis.

  Parameters:
    `g2` - the graphics device.
    `plot` - the plot.
    `axis` - the value axis.
    `marker` - the marker.
    `dataArea` - the axis data area.

### drawRangeMarker

    void drawRangeMarker(java.awt.Graphics2D g2,
                         XYPlot plot,
                         ValueAxis axis,
                         Marker marker,
                         java.awt.geom.Rectangle2D dataArea)

  Draws a horizontal line across the chart to represent a 'range marker'.

  Parameters:
    `g2` - the graphics device.
    `plot` - the plot.
    `axis` - the value axis.
    `marker` - the marker line.
    `dataArea` - the axis data area.

### getPlot

    XYPlot getPlot()

  Returns the plot that this renderer has been assigned to.

  Returns:
    The plot.

### setPlot

    void setPlot(XYPlot plot)

  Sets the plot that this renderer is assigned to. This method will be called by the plot class...you do not need to call it yourself.

  Parameters:
    `plot` - the plot.

### findDomainBounds

    Range findDomainBounds(XYDataset dataset)

  Returns the lower and upper bounds (range) of the x-values in the specified dataset.

  Parameters:
    `dataset` - the dataset (`null` permitted).
  Returns:
    The range.

### findRangeBounds

    Range findRangeBounds(XYDataset dataset)

  Returns the lower and upper bounds (range) of the y-values in the specified dataset. The implementation of this method will take into account the presentation used by the renderers (for example, a renderer that "stacks" values will return a bigger range than a renderer that doesn't.

  Parameters:
    `dataset` - the dataset (`null` permitted).
  Returns:
    The range (or `null` if the dataset is `null` or empty).

### addChangeListener

    void addChangeListener(RendererChangeListener listener)

  Add a renderer change listener.

  Parameters:
    `listener` - the listener.

### removeChangeListener

    void removeChangeListener(RendererChangeListener listener)

  Removes a change listener.

  Parameters:
    `listener` - the listener.