## org.jfree.chart.renderer.xy
Class StandardXYItemRenderer

    java.lang.Object
      org.jfree.chart.renderer.AbstractRenderer
          org.jfree.chart.renderer.xy.AbstractXYItemRenderer
              org.jfree.chart.renderer.xy.StandardXYItemRenderer

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, LegendItemSource, XYItemRenderer, org.jfree.util.PublicCloneable

Direct Known Subclasses:
  CyclicXYItemRenderer

    public class StandardXYItemRenderer

extends AbstractXYItemRenderer
implements XYItemRenderer, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

Standard item renderer for an `XYPlot`. This class can draw (a) shapes at each point, or (b) lines between points, or (c) both shapes and lines.

This renderer has been retained for historical reasons and, in general, you should use the `XYLineAndShapeRenderer` class instead.

See Also:
  Serialized Form

Nested Class Summary
`static class` `StandardXYItemRenderer.State` Records the state for the renderer.

Field Summary
`static int` `DISCONTINUOUS` Constant for the type of rendering (discontinuous lines).
`static int` `DISCONTINUOUS_LINES` Constant for the type of rendering (discontinuous lines).
`static int` `IMAGES` Constant for the type of rendering (images only).
`static int` `LINES` Constant for the type of rendering (lines only).
`static int` `SHAPES` Constant for the type of rendering (shapes only).
`static int` `SHAPES_AND_LINES` Constant for the type of rendering (shapes and lines).

Fields inherited from class org.jfree.chart.renderer.AbstractRenderer
`DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, DEFAULT_PAINT, DEFAULT_SHAPE, DEFAULT_STROKE, DEFAULT_VALUE_LABEL_FONT, DEFAULT_VALUE_LABEL_PAINT, ZERO`

Constructor Summary
`StandardXYItemRenderer()` Constructs a new renderer.
`StandardXYItemRenderer(int type)` Constructs a new renderer.
`StandardXYItemRenderer(int type, XYToolTipGenerator toolTipGenerator)` Constructs a new renderer.
`StandardXYItemRenderer(int type, XYToolTipGenerator toolTipGenerator, XYURLGenerator urlGenerator)` Constructs a new renderer.

Method Summary
`java.lang.Object` `clone()` Returns a clone of the renderer.
`void` `drawItem(java.awt.Graphics2D g2, XYItemRendererState state, java.awt.geom.Rectangle2D dataArea, PlotRenderingInfo info, XYPlot plot, ValueAxis domainAxis, ValueAxis rangeAxis, XYDataset dataset, int series, int item, CrosshairState crosshairState, int pass)` Draws the visual representation of a single data item.
`boolean` `equals(java.lang.Object obj)` Tests this renderer for equality with another object.
`boolean` `getBaseShapesFilled()` Returns the base 'shape filled' attribute.
`boolean` `getBaseShapesVisible()` Returns true if shapes are being plotted by the renderer.
`boolean` `getDrawSeriesLineAsPath()` Returns a flag that controls whether or not each series is drawn as a single path.
`double` `getGapThreshold()` Returns the gap threshold for discontinuous lines.
`org.jfree.util.UnitType` `getGapThresholdType()` Returns the gap threshold type (relative or absolute).
`protected java.awt.Image` `getImage(Plot plot, int series, int item, double x, double y)` Returns the image used to draw a single data item.
`protected java.awt.Point` `getImageHotspot(Plot plot, int series, int item, double x, double y, java.awt.Image image)` Returns the hotspot of the image used to draw a single data item.
`boolean` `getItemShapeFilled(int series, int item)` Returns the flag used to control whether or not the shape for an item is filled.
`LegendItem` `getLegendItem(int datasetIndex, int series)` Returns a legend item for a series.
`java.awt.Shape` `getLegendLine()` Returns the shape used to represent a line in the legend.
`boolean` `getPlotDiscontinuous()` Returns a flag that controls whether or not the renderer shows discontinuous lines.
`boolean` `getPlotImages()` Returns true if images are being plotted by the renderer.
`boolean` `getPlotLines()` Returns true if lines are being plotted by the renderer.
`java.lang.Boolean` `getSeriesShapesFilled(int series)` Returns the flag used to control whether or not the shapes for a series are filled.
`java.lang.Boolean` `getShapesFilled()` Deprecated. As of 1.0.8, you should avoid using this method and rely on just the per-series (`getSeriesShapesFilled(int)`) and base-level (`getBaseShapesFilled()`) settings.
`XYItemRendererState` `initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)` Initialises the renderer.
`void` `setBaseShapesFilled(boolean flag)` Sets the base 'shapes filled' flag and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseShapesVisible(boolean flag)` Sets the flag that controls whether or not a shape is plotted at each data point.
`void` `setDrawSeriesLineAsPath(boolean flag)` Sets the flag that controls whether or not each series is drawn as a single path.
`void` `setGapThreshold(double t)` Sets the gap threshold for discontinuous lines and sends a `RendererChangeEvent` to all registered listeners.
`void` `setGapThresholdType(org.jfree.util.UnitType thresholdType)` Sets the gap threshold type and sends a `RendererChangeEvent` to all registered listeners.
`void` `setLegendLine(java.awt.Shape line)` Sets the shape used as a line in each legend item and sends a `RendererChangeEvent` to all registered listeners.
`void` `setPlotDiscontinuous(boolean flag)` Sets the flag that controls whether or not the renderer shows discontinuous lines, and sends a `RendererChangeEvent` to all registered listeners.
`void` `setPlotImages(boolean flag)` Sets the flag that controls whether or not an image is drawn at each data point and sends a `RendererChangeEvent` to all registered listeners.
`void` `setPlotLines(boolean flag)` Sets the flag that controls whether or not a line is plotted between each data point and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesShapesFilled(int series, java.lang.Boolean flag)` Sets the 'shapes filled' flag for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setShapesFilled(boolean filled)` Deprecated. As of 1.0.8, you should avoid using this method and rely on just the per-series (`setSeriesShapesFilled(int, Boolean)`) and base-level (`setBaseShapesVisible( boolean)`) settings.
`void` `setShapesFilled(java.lang.Boolean filled)` Deprecated. As of 1.0.8, you should avoid using this method and rely on just the per-series (`setSeriesShapesFilled(int, Boolean)`) and base-level (`setBaseShapesVisible( boolean)`) settings.

Methods inherited from class org.jfree.chart.renderer.xy.AbstractXYItemRenderer

`addAnnotation, addAnnotation, addEntity, calculateDomainMarkerTextAnchorPoint, drawAnnotations, drawDomainGridLine, drawDomainLine, drawDomainMarker, drawItemLabel, drawRangeLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, findDomainBounds, findRangeBounds, getBaseItemLabelGenerator, getBaseToolTipGenerator, getDefaultEntityRadius, getDrawingSupplier, getItemLabelGenerator, getItemLabelGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPassCount, getPlot, getSeriesItemLabelGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, getURLGenerator, isPointInRect, removeAnnotation, removeAnnotations, setBaseItemLabelGenerator, setBaseToolTipGenerator, setDefaultEntityRadius, setItemLabelGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesToolTipGenerator, setToolTipGenerator, setURLGenerator, updateCrosshairValues, updateCrosshairValues`

Methods inherited from class org.jfree.chart.renderer.AbstractRenderer

`addChangeListener, calculateLabelAnchorPoint, fireChangeEvent, getAutoPopulateSeriesFillPaint, getAutoPopulateSeriesOutlinePaint, getAutoPopulateSeriesOutlineStroke, getAutoPopulateSeriesPaint, getAutoPopulateSeriesShape, getAutoPopulateSeriesStroke, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, hashCode, hasListener, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, lookupSeriesFillPaint, lookupSeriesOutlinePaint, lookupSeriesOutlineStroke, lookupSeriesPaint, lookupSeriesShape, lookupSeriesStroke, notifyListeners, removeChangeListener, setAutoPopulateSeriesFillPaint, setAutoPopulateSeriesOutlinePaint, setAutoPopulateSeriesOutlineStroke, setAutoPopulateSeriesPaint, setAutoPopulateSeriesShape, setAutoPopulateSeriesStroke, setBaseCreateEntities, setBaseCreateEntities, setBaseFillPaint, setBaseFillPaint, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setCreateEntities, setCreateEntities, setFillPaint, setFillPaint, setItemLabelAnchorOffset, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlinePaint, setOutlineStroke, setOutlineStroke, setPaint, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesCreateEntities, setSeriesCreateEntities, setSeriesFillPaint, setSeriesFillPaint, setSeriesItemLabelFont, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setShape, setStroke, setStroke`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.jfree.chart.renderer.xy.XYItemRenderer

`addAnnotation, addAnnotation, addChangeListener, drawAnnotations, drawDomainGridLine, drawDomainMarker, drawRangeLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, findDomainBounds, findRangeBounds, getBaseItemLabelFont, getBaseItemLabelGenerator, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getBaseToolTipGenerator, getItemLabelFont, getItemLabelFont, getItemLabelGenerator, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLegendItemLabelGenerator, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPassCount, getPlot, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelFont, getSeriesItemLabelGenerator, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesToolTipGenerator, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, getToolTipGenerator, getURLGenerator, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, removeAnnotation, removeAnnotations, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelGenerator, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseStroke, setBaseToolTipGenerator, setItemLabelFont, setItemLabelGenerator, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setLegendItemLabelGenerator, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPlot, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelGenerator, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setSeriesToolTipGenerator, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setStroke, setToolTipGenerator, setURLGenerator`

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

Field Detail

### SHAPES

    public static final int SHAPES

  Constant for the type of rendering (shapes only).

  See Also:
    Constant Field Values

### LINES

    public static final int LINES

  Constant for the type of rendering (lines only).

  See Also:
    Constant Field Values

### SHAPES_AND_LINES

    public static final int SHAPES_AND_LINES

  Constant for the type of rendering (shapes and lines).

  See Also:
    Constant Field Values

### IMAGES

    public static final int IMAGES

  Constant for the type of rendering (images only).

  See Also:
    Constant Field Values

### DISCONTINUOUS

    public static final int DISCONTINUOUS

  Constant for the type of rendering (discontinuous lines).

  See Also:
    Constant Field Values

### DISCONTINUOUS_LINES

    public static final int DISCONTINUOUS_LINES

  Constant for the type of rendering (discontinuous lines).

  See Also:
    Constant Field Values

Constructor Detail

### StandardXYItemRenderer

    public StandardXYItemRenderer()

  Constructs a new renderer.

### StandardXYItemRenderer

    public StandardXYItemRenderer(int type)

  Constructs a new renderer. To specify the type of renderer, use one of the constants: `SHAPES`, `LINES` or `SHAPES_AND_LINES`.

  Parameters:
    `type` - the type.

### StandardXYItemRenderer

    public StandardXYItemRenderer(int type,
                                  XYToolTipGenerator toolTipGenerator)

  Constructs a new renderer. To specify the type of renderer, use one of the constants: `SHAPES`, `LINES` or `SHAPES_AND_LINES`.

  Parameters:
    `type` - the type of renderer.
    `toolTipGenerator` - the item label generator (`null` permitted).

### StandardXYItemRenderer

    public StandardXYItemRenderer(int type,
                                  XYToolTipGenerator toolTipGenerator,
                                  XYURLGenerator urlGenerator)

  Constructs a new renderer. To specify the type of renderer, use one of the constants: `SHAPES`, `LINES` or `SHAPES_AND_LINES`.

  Parameters:
    `type` - the type of renderer.
    `toolTipGenerator` - the item label generator (`null` permitted).
    `urlGenerator` - the URL generator.

Method Detail

### getBaseShapesVisible

    public boolean getBaseShapesVisible()

  Returns true if shapes are being plotted by the renderer.

  Returns:
    `true` if shapes are being plotted by the renderer.
  See Also:
    `setBaseShapesVisible(boolean)`

### setBaseShapesVisible

    public void setBaseShapesVisible(boolean flag)

  Sets the flag that controls whether or not a shape is plotted at each data point.

  Parameters:
    `flag` - the flag.
  See Also:
    `getBaseShapesVisible()`

### getItemShapeFilled

    public boolean getItemShapeFilled(int series,
                                      int item)

  Returns the flag used to control whether or not the shape for an item is filled.

  The default implementation passes control to the `getSeriesShapesFilled` method. You can override this method if you require different behaviour.

  Parameters:
    `series` - the series index (zero-based).
    `item` - the item index (zero-based).
  Returns:
    A boolean.
  See Also:
    `getSeriesShapesFilled(int)`

### getShapesFilled

    public java.lang.Boolean getShapesFilled()

  Deprecated. As of 1.0.8, you should avoid using this method and rely on just the per-series (`getSeriesShapesFilled(int)`) and base-level (`getBaseShapesFilled()`) settings.

  Returns the override flag that controls whether or not shapes are filled for ALL series.

  Returns:
    The flag (possibly `null`).
  Since:
    1.0.5

### setShapesFilled

    public void setShapesFilled(boolean filled)

  Deprecated. As of 1.0.8, you should avoid using this method and rely on just the per-series (`setSeriesShapesFilled(int, Boolean)`) and base-level (`setBaseShapesVisible( boolean)`) settings.

  Sets the override flag that controls whether or not shapes are filled for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `filled` - the flag.
  See Also:
    `setShapesFilled(Boolean)`

### setShapesFilled

    public void setShapesFilled(java.lang.Boolean filled)

  Deprecated. As of 1.0.8, you should avoid using this method and rely on just the per-series (`setSeriesShapesFilled(int, Boolean)`) and base-level (`setBaseShapesVisible( boolean)`) settings.

  Sets the override flag that controls whether or not shapes are filled for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `filled` - the flag (`null` permitted).
  See Also:
    `setShapesFilled(boolean)`

### getSeriesShapesFilled

    public java.lang.Boolean getSeriesShapesFilled(int series)

  Returns the flag used to control whether or not the shapes for a series are filled.

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

### setSeriesShapesFilled

    public void setSeriesShapesFilled(int series,
                                      java.lang.Boolean flag)

  Sets the 'shapes filled' flag for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `flag` - the flag.
  See Also:
    `getSeriesShapesFilled(int)`

### getBaseShapesFilled

    public boolean getBaseShapesFilled()

  Returns the base 'shape filled' attribute.

  Returns:
    The base flag.
  See Also:
    `setBaseShapesFilled(boolean)`

### setBaseShapesFilled

    public void setBaseShapesFilled(boolean flag)

  Sets the base 'shapes filled' flag and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `flag` - the flag.
  See Also:
    `getBaseShapesFilled()`

### getPlotLines

    public boolean getPlotLines()

  Returns true if lines are being plotted by the renderer.

  Returns:
    `true` if lines are being plotted by the renderer.
  See Also:
    `setPlotLines(boolean)`

### setPlotLines

    public void setPlotLines(boolean flag)

  Sets the flag that controls whether or not a line is plotted between each data point and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `flag` - the flag.
  See Also:
    `getPlotLines()`

### getGapThresholdType

    public org.jfree.util.UnitType getGapThresholdType()

  Returns the gap threshold type (relative or absolute).

  Returns:
    The type.
  See Also:
    `setGapThresholdType(UnitType)`

### setGapThresholdType

    public void setGapThresholdType(org.jfree.util.UnitType thresholdType)

  Sets the gap threshold type and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `thresholdType` - the type (`null` not permitted).
  See Also:
    `getGapThresholdType()`

### getGapThreshold

    public double getGapThreshold()

  Returns the gap threshold for discontinuous lines.

  Returns:
    The gap threshold.
  See Also:
    `setGapThreshold(double)`

### setGapThreshold

    public void setGapThreshold(double t)

  Sets the gap threshold for discontinuous lines and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `t` - the threshold.
  See Also:
    `getGapThreshold()`

### getPlotImages

    public boolean getPlotImages()

  Returns true if images are being plotted by the renderer.

  Returns:
    `true` if images are being plotted by the renderer.
  See Also:
    `setPlotImages(boolean)`

### setPlotImages

    public void setPlotImages(boolean flag)

  Sets the flag that controls whether or not an image is drawn at each data point and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `flag` - the flag.
  See Also:
    `getPlotImages()`

### getPlotDiscontinuous

    public boolean getPlotDiscontinuous()

  Returns a flag that controls whether or not the renderer shows discontinuous lines.

  Returns:
    `true` if lines should be discontinuous.

### setPlotDiscontinuous

    public void setPlotDiscontinuous(boolean flag)

  Sets the flag that controls whether or not the renderer shows discontinuous lines, and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `flag` - the new flag value.
  Since:
    1.0.5

### getDrawSeriesLineAsPath

    public boolean getDrawSeriesLineAsPath()

  Returns a flag that controls whether or not each series is drawn as a single path.

  Returns:
    A boolean.
  See Also:
    `setDrawSeriesLineAsPath(boolean)`

### setDrawSeriesLineAsPath

    public void setDrawSeriesLineAsPath(boolean flag)

  Sets the flag that controls whether or not each series is drawn as a single path.

  Parameters:
    `flag` - the flag.
  See Also:
    `getDrawSeriesLineAsPath()`

### getLegendLine

    public java.awt.Shape getLegendLine()

  Returns the shape used to represent a line in the legend.

  Returns:
    The legend line (never `null`).
  See Also:
    `setLegendLine(Shape)`

### setLegendLine

    public void setLegendLine(java.awt.Shape line)

  Sets the shape used as a line in each legend item and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `line` - the line (`null` not permitted).
  See Also:
    `getLegendLine()`

### getLegendItem

    public LegendItem getLegendItem(int datasetIndex,
                                    int series)

  Returns a legend item for a series.

  Specified by:
    `getLegendItem` in interface `XYItemRenderer`
  Overrides:
    `getLegendItem` in class `AbstractXYItemRenderer`
  Parameters:
    `datasetIndex` - the dataset index (zero-based).
    `series` - the series index (zero-based).
  Returns:
    A legend item for the series.

### initialise

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

  Initialises the renderer.

  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.

  Specified by:
    `initialise` in interface `XYItemRenderer`
  Overrides:
    `initialise` in class `AbstractXYItemRenderer`
  Parameters:
    `g2` - the graphics device.
    `dataArea` - the area inside the axes.
    `plot` - the plot.
    `data` - the data.
    `info` - an optional info collection object to return data back to the caller.
  Returns:
    The renderer state.

### drawItem

    public void drawItem(java.awt.Graphics2D g2,
                         XYItemRendererState state,
                         java.awt.geom.Rectangle2D dataArea,
                         PlotRenderingInfo info,
                         XYPlot plot,
                         ValueAxis domainAxis,
                         ValueAxis rangeAxis,
                         XYDataset dataset,
                         int series,
                         int item,
                         CrosshairState crosshairState,
                         int pass)

  Draws the visual representation of a single data item.

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

### equals

    public boolean equals(java.lang.Object obj)

  Tests this renderer for equality with another object.

  Overrides:
    `equals` in class `AbstractXYItemRenderer`
  Parameters:
    `obj` - the object (`null` permitted).
  Returns:
    A boolean.

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns a clone of the renderer.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `AbstractXYItemRenderer`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - if the renderer cannot be cloned.

### getImage

    protected java.awt.Image getImage(Plot plot,
                                      int series,
                                      int item,
                                      double x,
                                      double y)

  Returns the image used to draw a single data item.

  Parameters:
    `plot` - the plot (can be used to obtain standard color information etc).
    `series` - the series index.
    `item` - the item index.
    `x` - the x value of the item.
    `y` - the y value of the item.
  Returns:
    The image.
  See Also:
    `getPlotImages()`

### getImageHotspot

    protected java.awt.Point getImageHotspot(Plot plot,
                                             int series,
                                             int item,
                                             double x,
                                             double y,
                                             java.awt.Image image)

  Returns the hotspot of the image used to draw a single data item. The hotspot is the point relative to the top left of the image that should indicate the data item. The default is the center of the image.

  Parameters:
    `plot` - the plot (can be used to obtain standard color information etc).
    `image` - the image (can be used to get size information about the image)
    `series` - the series index
    `item` - the item index
    `x` - the x value of the item
    `y` - the y value of the item
  Returns:
    The hotspot used to draw the data item.