Class HeatmapRenderer

java.lang.Object
com.arbergashi.charts.render.BaseRenderer
com.arbergashi.charts.render.specialized.HeatmapRenderer
All Implemented Interfaces:
ChartRenderer

public class HeatmapRenderer extends BaseRenderer implements ChartRenderer
Renderer for 2D heatmaps.

Unified renderer for density and grid visualizations. Supports two modes: 1. Grid mode: Direct rendering of a double[][] matrix (via setGridData(double[][], double, double, double, double)). 2. Density mode: Automatic binning of ChartModel points into a grid.

Optimized for performance via direct pixel operations and a color LUT.

Since:
2025-06-01
Version:
1.0.0
Author:
Arber Gashi
  • Constructor Details

    • HeatmapRenderer

      public HeatmapRenderer()
  • Method Details

    • getName

      public String getName()
      Description copied from class: BaseRenderer
      Returns the renderer name used by legends and UI labels.
      Specified by:
      getName in interface ChartRenderer
      Overrides:
      getName in class BaseRenderer
      Returns:
      renderer name
    • getTooltipText

      public String getTooltipText(int index, ChartModel model)
      Description copied from class: BaseRenderer
      Returns tooltip text for the given data index, or null when not supported.
      Specified by:
      getTooltipText in interface ChartRenderer
      Overrides:
      getTooltipText in class BaseRenderer
      Parameters:
      index - The index of the data point.
      model - The data model.
      Returns:
      A formatted string for the tooltip, or null if no tooltip should be shown.
    • getPointAt

      public Optional<Integer> getPointAt(Point2D pixel, ChartModel model, PlotContext context)
      Description copied from class: BaseRenderer
      Returns the data index nearest to the given pixel coordinate, if supported.
      Specified by:
      getPointAt in interface ChartRenderer
      Overrides:
      getPointAt in class BaseRenderer
      Parameters:
      pixel - mouse/crosshair position in component coordinates
      model - data model for this layer
      context - current plot context
      Returns:
      optional point index
    • setGridData

      public void setGridData(double[][] data, double minX, double maxX, double minY, double maxY)
      Sets the grid data.
      Parameters:
      data - [rows][cols] array (row = y, col = x).
      minX - Start X.
      maxX - End X.
      minY - Start Y.
      maxY - End Y.
    • drawData

      protected void drawData(Graphics2D g2, ChartModel model, PlotContext context)
      Description copied from class: BaseRenderer
      Implementation-specific drawing logic. Must follow Zero-Allocation rules.
      Specified by:
      drawData in class BaseRenderer