Class XYStepRenderer

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

public class XYStepRenderer extends XYLineAndShapeRenderer implements XYItemRenderer, Cloneable, PublicCloneable, Serializable
Line/Step item renderer for an XYPlot. This class draws lines between data points, only allowing horizontal or vertical lines (steps). The example shown here is generated by the XYStepRendererDemo1.java program included in the JFreeChart demo collection:

XYStepRendererSample.png
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      For serialization.
      See Also:
    • stepPoint

      private double stepPoint
      The factor (from 0.0 to 1.0) that determines the position of the step.
  • Constructor Details

    • XYStepRenderer

      public XYStepRenderer()
      Constructs a new renderer with no tooltip or URL generation.
    • XYStepRenderer

      public XYStepRenderer(XYToolTipGenerator toolTipGenerator, XYURLGenerator urlGenerator)
      Constructs a new renderer with the specified tool tip and URL generators.
      Parameters:
      toolTipGenerator - the item label generator (null permitted).
      urlGenerator - the URL generator (null permitted).
  • Method Details

    • getStepPoint

      public double getStepPoint()
      Returns the fraction of the domain position between two points on which the step is drawn. The default is 1.0d, which means the step is drawn at the domain position of the second`point. If the stepPoint is 0.5d the step is drawn at half between the two points.
      Returns:
      The fraction of the domain position between two points where the step is drawn.
      See Also:
    • setStepPoint

      public void setStepPoint(double stepPoint)
      Sets the step point and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      stepPoint - the step point (in the range 0.0 to 1.0)
      See Also:
    • drawItem

      public void drawItem(Graphics2D g2, XYItemRendererState state, Rectangle2D dataArea, PlotRenderingInfo info, XYPlot plot, ValueAxis domainAxis, ValueAxis rangeAxis, XYDataset dataset, int series, int item, CrosshairState crosshairState, int pass)
      Draws the visual representation of a single data item.
      Specified by:
      drawItem in interface XYItemRenderer
      Overrides:
      drawItem in class XYLineAndShapeRenderer
      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 vertical 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.
    • drawLine

      private void drawLine(Graphics2D g2, Line2D line, double x0, double y0, double x1, double y1, Rectangle2D dataArea)
      A utility method that draws a line but only if none of the coordinates are NaN values.
      Parameters:
      g2 - the graphics target.
      line - the line object.
      x0 - the x-coordinate for the starting point of the line.
      y0 - the y-coordinate for the starting point of the line.
      x1 - the x-coordinate for the ending point of the line.
      y1 - the y-coordinate for the ending point of the line.
    • equals

      public boolean equals(Object obj)
      Tests this renderer for equality with an arbitrary object.
      Overrides:
      equals in class XYLineAndShapeRenderer
      Parameters:
      obj - the object (null permitted).
      Returns:
      A boolean.
    • hashCode

      public int hashCode()
      Returns a hash code for this instance.
      Overrides:
      hashCode in class XYLineAndShapeRenderer
      Returns:
      A hash code.
    • clone

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