Class XYBlockRenderer

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

public class XYBlockRenderer extends AbstractXYItemRenderer implements XYItemRenderer, Cloneable, PublicCloneable, Serializable
A renderer that represents data from an XYZDataset by drawing a color block at each (x, y) point, where the color is a function of the z-value from the dataset. The example shown here is generated by the XYBlockChartDemo1.java program included in the JFreeChart demo collection:

XYBlockRendererSample.png
See Also:
  • Field Details

    • blockWidth

      private double blockWidth
      The block width (defaults to 1.0).
    • blockHeight

      private double blockHeight
      The block height (defaults to 1.0).
    • blockAnchor

      private RectangleAnchor blockAnchor
      The anchor point used to align each block to its (x, y) location. The default value is RectangleAnchor.CENTER.
    • xOffset

      private double xOffset
      Temporary storage for the x-offset used to align the block anchor.
    • yOffset

      private double yOffset
      Temporary storage for the y-offset used to align the block anchor.
    • paintScale

      private PaintScale paintScale
      The paint scale.
  • Constructor Details

    • XYBlockRenderer

      public XYBlockRenderer()
      Creates a new XYBlockRenderer instance with default attributes.
  • Method Details

    • getBlockWidth

      public double getBlockWidth()
      Returns the block width, in data/axis units.
      Returns:
      The block width.
      See Also:
    • setBlockWidth

      public void setBlockWidth(double width)
      Sets the width of the blocks used to represent each data item and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      width - the new width, in data/axis units (must be > 0.0).
      See Also:
    • getBlockHeight

      public double getBlockHeight()
      Returns the block height, in data/axis units.
      Returns:
      The block height.
      See Also:
    • setBlockHeight

      public void setBlockHeight(double height)
      Sets the height of the blocks used to represent each data item and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      height - the new height, in data/axis units (must be > 0.0).
      See Also:
    • getBlockAnchor

      public RectangleAnchor getBlockAnchor()
      Returns the anchor point used to align a block at its (x, y) location. The default values is RectangleAnchor.CENTER.
      Returns:
      The anchor point (never null).
      See Also:
    • setBlockAnchor

      public void setBlockAnchor(RectangleAnchor anchor)
      Sets the anchor point used to align a block at its (x, y) location and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      anchor - the anchor.
      See Also:
    • getPaintScale

      public PaintScale getPaintScale()
      Returns the paint scale used by the renderer.
      Returns:
      The paint scale (never null).
      See Also:
    • setPaintScale

      public void setPaintScale(PaintScale scale)
      Sets the paint scale used by the renderer and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      scale - the scale (null not permitted).
      See Also:
    • updateOffsets

      private void updateOffsets()
      Updates the offsets to take into account the block width, height and anchor.
    • findDomainBounds

      public Range findDomainBounds(XYDataset dataset)
      Returns the lower and upper bounds (range) of the x-values in the specified dataset.
      Specified by:
      findDomainBounds in interface XYItemRenderer
      Overrides:
      findDomainBounds in class AbstractXYItemRenderer
      Parameters:
      dataset - the dataset (null permitted).
      Returns:
      The range (null if the dataset is null or empty).
      See Also:
    • findRangeBounds

      public Range findRangeBounds(XYDataset dataset)
      Returns the range of values the renderer requires to display all the items from the specified dataset.
      Specified by:
      findRangeBounds in interface XYItemRenderer
      Overrides:
      findRangeBounds in class AbstractXYItemRenderer
      Parameters:
      dataset - the dataset (null permitted).
      Returns:
      The range (null if the dataset is null or empty).
      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 block representing the specified item.
      Specified by:
      drawItem in interface XYItemRenderer
      Parameters:
      g2 - the graphics device.
      state - the state.
      dataArea - the data area.
      info - the plot rendering info.
      plot - the plot.
      domainAxis - the x-axis.
      rangeAxis - the y-axis.
      dataset - the dataset.
      series - the series index.
      item - the item index.
      crosshairState - the crosshair state.
      pass - the pass index.
    • equals

      public boolean equals(Object obj)
      Tests this XYBlockRenderer for equality with an arbitrary object. This method returns true if and only if:
      • obj is an instance of XYBlockRenderer (not null);
      • obj has the same field values as this XYBlockRenderer;
      Overrides:
      equals in class AbstractXYItemRenderer
      Parameters:
      obj - the object (null permitted).
      Returns:
      A boolean.
    • clone

      public Object clone() throws CloneNotSupportedException
      Returns a clone of this renderer.
      Specified by:
      clone in interface PublicCloneable
      Overrides:
      clone in class AbstractXYItemRenderer
      Returns:
      A clone of this renderer.
      Throws:
      CloneNotSupportedException - if there is a problem creating the clone.