## org.jfree.chart.renderer
Interface XYItemRenderer

All Known Implementing Classes:
  AbstractXYItemRenderer, AreaXYRenderer, CandlestickRenderer, HighLowRenderer, SignalRenderer, StandardXYItemRenderer, WindItemRenderer, XYAreaRenderer, XYAreaRenderer2, XYBarRenderer, XYBoxAndWhiskerRenderer, XYBubbleRenderer, XYDifferenceRenderer, XYDotRenderer, XYLineAndShapeRenderer, XYStepAreaRenderer, XYStepRenderer, YIntervalRenderer

public interface XYItemRenderer

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` `addChangeListener(RendererChangeListener listener)` Add a renderer change listener.
`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 a vertical line on the chart to represent a 'range marker'.
`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` `drawRangeGridLine(java.awt.Graphics2D g2, XYPlot plot, ValueAxis axis, java.awt.geom.Rectangle2D dataArea, double value)` 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.
`java.awt.Font` `getBaseItemLabelFont()` Returns the base item label font (this is used when no other font setting is available).
`java.awt.Paint` `getBaseItemLabelPaint()` Returns the base item label paint.
`java.lang.Boolean` `getBaseItemLabelsVisible()` Returns the base setting for item label visibility.
`XYLabelGenerator` `getBaseLabelGenerator()` Returns the base item label generator.
`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.
`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()` Returns the font used for all item labels.
`java.awt.Font` `getItemLabelFont(int row, int column)` Returns the font for an item label.
`java.awt.Paint` `getItemLabelPaint()` Returns the paint used for all item labels.
`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.
`XYLabelGenerator` `getLabelGenerator(int row, int column)` Returns the label generator for a data item.
`LegendItem` `getLegendItem(int datasetIndex, int series)` Returns a legend item for a series from a dataset.
`ItemLabelPosition` `getNegativeItemLabelPosition()` Returns the item label position for negative values in ALL series.
`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()` Returns the item label position for positive values in ALL series.
`ItemLabelPosition` `getPositiveItemLabelPosition(int row, int column)` Returns the item label position for positive values.
`Range` `getRangeExtent(XYDataset dataset)` Returns the range of values the renderer requires to display all the items from the specified dataset.
`RangeType` `getRangeType()` Returns the range type for the renderer.
`java.awt.Font` `getSeriesItemLabelFont(int series)` Returns the font for all the item labels in a series.
`java.awt.Paint` `getSeriesItemLabelPaint(int series)` Returns the paint used to draw the item labels for a series.
`XYLabelGenerator` `getSeriesLabelGenerator(int series)` Returns the label generator 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.
`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.
`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` `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` `setBaseLabelGenerator(XYLabelGenerator generator)` Sets the base item label generator and 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` `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)` Sets the item label font for ALL series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setItemLabelPaint(java.awt.Paint paint)` Sets the item label paint for ALL series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setItemLabelsVisible(boolean visible)` Sets a flag that controls whether or not the item labels for ALL series are visible.
`void` `setItemLabelsVisible(java.lang.Boolean visible)` Sets a flag that controls whether or not the item labels for ALL series are visible.
`void` `setItemLabelsVisible(java.lang.Boolean visible, boolean notify)` Sets the visibility of item labels for ALL series and, if requested, sends a `RendererChangeEvent` to all registered listeners.
`void` `setLabelGenerator(XYLabelGenerator generator)` Sets the item label generator for ALL series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setNegativeItemLabelPosition(ItemLabelPosition position)` Sets the item label position for negative values in ALL series, and sends a `RendererChangeEvent` to all registered listeners.
`void` `setNegativeItemLabelPosition(ItemLabelPosition position, boolean notify)` Sets the item label position for negative values in ALL series and (if requested) sends a `RendererChangeEvent` to all registered listeners.
`void` `setOutlinePaint(java.awt.Paint paint)` Sets the outline paint for ALL series (optional).
`void` `setOutlineStroke(java.awt.Stroke stroke)` Sets the outline stroke for ALL series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setPaint(java.awt.Paint paint)` Sets the paint to be used for ALL series, and sends a `RendererChangeEvent` to all registered listeners.
`void` `setPlot(XYPlot plot)` Sets the plot that this renderer is assigned to.
`void` `setPositiveItemLabelPosition(ItemLabelPosition position)` Sets the item label position for positive values in ALL series, and sends a `RendererChangeEvent` to all registered listeners.
`void` `setPositiveItemLabelPosition(ItemLabelPosition position, boolean notify)` Sets the positive item label position for ALL series and (if requested) sends a `RendererChangeEvent` to all registered listeners.
`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` `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` `setSeriesLabelGenerator(int series, XYLabelGenerator generator)` Sets the label generator for a series and 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.
`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` `setShape(java.awt.Shape shape)` Sets the shape for ALL series (optional) and sends a `RendererChangeEvent` to all registered listeners.
`void` `setStroke(java.awt.Stroke stroke)` Sets the stroke for ALL series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setToolTipGenerator(XYToolTipGenerator generator)` Sets the tool tip generator for ALL series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setURLGenerator(XYURLGenerator urlGenerator)` Sets the URL generator for HTML image maps.

Method Detail

### initialise

    public 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

    public int getPassCount()

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

  Returns:
    The pass count.

### getItemPaint

    public 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

    public 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 (never `null`).

### setPaint

    public void setPaint(java.awt.Paint 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

    public 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

    public java.awt.Paint getBasePaint()

  Returns the base paint.

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

### setBasePaint

    public 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

    public 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

    public 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 (never `null`).

### setSeriesOutlinePaint

    public 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

    public void setOutlinePaint(java.awt.Paint paint)

  Sets the outline paint for ALL series (optional).

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

### getBaseOutlinePaint

    public java.awt.Paint getBaseOutlinePaint()

  Returns the base outline paint.

  Returns:
    the paint (never `null`).

### setBaseOutlinePaint

    public 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

    public 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

    public 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 (never `null`).

### setStroke

    public void setStroke(java.awt.Stroke stroke)

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

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

### setSeriesStroke

    public 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

    public java.awt.Stroke getBaseStroke()

  Returns the base stroke.

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

### setBaseStroke

    public void setBaseStroke(java.awt.Stroke stroke)

  Sets the base stroke.

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

### getItemOutlineStroke

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

  Returns the stroke used to outline data items.

  The default implementation passes control to the getSeriesOutlineStroke 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

    public 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 (never `null`).

### setOutlineStroke

    public void setOutlineStroke(java.awt.Stroke stroke)

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

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

### setSeriesOutlineStroke

    public 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

    public java.awt.Stroke getBaseOutlineStroke()

  Returns the base outline stroke.

  Returns:
    the stroke (never `null`).

### setBaseOutlineStroke

    public 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

    public 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

    public 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 (never `null`).

### setShape

    public void setShape(java.awt.Shape shape)

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

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

### setSeriesShape

    public 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

    public java.awt.Shape getBaseShape()

  Returns the base shape.

  Returns:
    the shape (never `null`).

### setBaseShape

    public 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

    public 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

    public 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

    public void setItemLabelsVisible(boolean visible)

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

  Parameters:
    `visible` - the flag.

### setItemLabelsVisible

    public void setItemLabelsVisible(java.lang.Boolean visible)

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

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

### setItemLabelsVisible

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

  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

    public 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

    public 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

    public 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

    public java.lang.Boolean getBaseItemLabelsVisible()

  Returns the base setting for item label visibility.

  Returns:
    A flag (possibly `null`).

### setBaseItemLabelsVisible

    public void setBaseItemLabelsVisible(boolean visible)

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

  Parameters:
    `visible` - the flag.

### setBaseItemLabelsVisible

    public void setBaseItemLabelsVisible(java.lang.Boolean visible)

  Sets the base setting for item label visibility.

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

### setBaseItemLabelsVisible

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

### getLabelGenerator

    public XYLabelGenerator getLabelGenerator(int row,
                                              int column)

  Returns the label generator for a data item.

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

### getSeriesLabelGenerator

    public XYLabelGenerator getSeriesLabelGenerator(int series)

  Returns the label generator for a series.

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

### setLabelGenerator

    public void setLabelGenerator(XYLabelGenerator generator)

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

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

### setSeriesLabelGenerator

    public void setSeriesLabelGenerator(int series,
                                        XYLabelGenerator generator)

  Sets the 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).

### getBaseLabelGenerator

    public XYLabelGenerator getBaseLabelGenerator()

  Returns the base item label generator.

  Returns:
    the generator (possibly `null`).

### setBaseLabelGenerator

    public void setBaseLabelGenerator(XYLabelGenerator generator)

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

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

### getToolTipGenerator

    public 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

    public 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

    public void setToolTipGenerator(XYToolTipGenerator generator)

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

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

### setSeriesToolTipGenerator

    public 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

    public XYToolTipGenerator getBaseToolTipGenerator()

  Returns the base tool tip generator.

  Returns:
    the generator (possibly `null`).

### setBaseToolTipGenerator

    public 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

    public XYURLGenerator getURLGenerator()

  Returns the URL generator for HTML image maps.

  Returns:
    the URL generator (possibly null).

### setURLGenerator

    public void setURLGenerator(XYURLGenerator urlGenerator)

  Sets the URL generator for HTML image maps.

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

### getItemLabelFont

    public 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

    public java.awt.Font getItemLabelFont()

  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

    public void setItemLabelFont(java.awt.Font 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

    public 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

    public 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

    public 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

    public 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

    public 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

    public java.awt.Paint getItemLabelPaint()

  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

    public void setItemLabelPaint(java.awt.Paint paint)

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

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

### getSeriesItemLabelPaint

    public 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

    public 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

    public java.awt.Paint getBaseItemLabelPaint()

  Returns the base item label paint.

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

### setBaseItemLabelPaint

    public 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

    public 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

    public ItemLabelPosition getPositiveItemLabelPosition()

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

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

### setPositiveItemLabelPosition

    public void setPositiveItemLabelPosition(ItemLabelPosition position)

  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

    public void setPositiveItemLabelPosition(ItemLabelPosition position,
                                             boolean notify)

  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

    public 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

    public 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

    public 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

    public ItemLabelPosition getBasePositiveItemLabelPosition()

  Returns the base positive item label position.

  Returns:
    the position (never `null`).

### setBasePositiveItemLabelPosition

    public void setBasePositiveItemLabelPosition(ItemLabelPosition position)

  Sets the base positive item label position.

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

### setBasePositiveItemLabelPosition

    public 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

    public 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

    public ItemLabelPosition getNegativeItemLabelPosition()

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

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

### setNegativeItemLabelPosition

    public void setNegativeItemLabelPosition(ItemLabelPosition position)

  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

    public void setNegativeItemLabelPosition(ItemLabelPosition position,
                                             boolean notify)

  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

    public 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

    public 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

    public 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

    public ItemLabelPosition getBaseNegativeItemLabelPosition()

  Returns the base item label position for negative values.

  Returns:
    the position (never `null`).

### setBaseNegativeItemLabelPosition

    public 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

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

### 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)

  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

    public 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`).

### fillDomainGridBand

    public 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

    public 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

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

### drawRangeGridLine

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

  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.

### drawDomainMarker

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

  Draws a vertical line on 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.

### drawRangeMarker

    public 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

    public XYPlot getPlot()

  Returns the plot that this renderer has been assigned to.

  Returns:
    the plot.

### setPlot

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

### getRangeType

    public RangeType getRangeType()

  Returns the range type for the renderer. The plot needs to know this information in order to determine an appropriate axis range (when the axis auto-range calculation is on).

  Two types are recognised:

  - `STANDARD` - data items are plotted individually, so the axis range should extend from the smallest value to the largest value;
  - `STACKED` - data items are stacked on top of one another, so to determine the axis range, all the items in a series need to be summed together.
  If the data values are stacked, this affects the axis range required to display all the data items.

  Returns:
    a flag indicating whether or not the data values are stacked.

### getRangeExtent

    public Range getRangeExtent(XYDataset dataset)

  Returns the range of values the renderer requires to display all the items from the specified dataset.

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

### addChangeListener

    public void addChangeListener(RendererChangeListener listener)

  Add a renderer change listener.

  Parameters:
    `listener` - the listener.

### removeChangeListener

    public void removeChangeListener(RendererChangeListener listener)

  Removes a change listener.

  Parameters:
    `listener` - the listener.