Class HeatmapRenderer
java.lang.Object
com.arbergashi.charts.render.BaseRenderer
com.arbergashi.charts.render.specialized.HeatmapRenderer
- All Implemented Interfaces:
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
-
Field Summary
Fields inherited from class BaseRenderer
PIXEL_BUF, PIXEL_BUF4 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddrawData(Graphics2D g2, ChartModel model, PlotContext context) Implementation-specific drawing logic.getName()Returns the renderer name used by legends and UI labels.getPointAt(Point2D pixel, ChartModel model, PlotContext context) Returns the data index nearest to the given pixel coordinate, if supported.getTooltipText(int index, ChartModel model) Returns tooltip text for the given data index, or null when not supported.voidsetGridData(double[][] data, double minX, double maxX, double minY, double maxY) Sets the grid data.Methods inherited from class BaseRenderer
drawHighlightPoint, drawI18nLabel, drawLabel, getArc, getCachedFont, getCachedGradient, getCachedStroke, getCachedStroke, getCachedStroke, getCubicCurve, getEllipse, getId, getLayerIndex, getLegendColor, getLine, getPathCache, getRect, getRoundRectangle, getSeriesColor, getSeriesStroke, getTheme, isLegendRequired, isMultiColor, pBuffer, pBuffer4, render, resolveTheme, seriesOrBase, setLayerIndex, setMultiColor, setTheme, setupQualityHints, themeAccent, themeAxisLabel, themeBackground, themeBearish, themeBullish, themeForeground, themeGrid, themeSeriesMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ChartRenderer
clearHover, createContext, getFocusValues, getPreferredYRange, isLegendRequired, render, renderEmptyState, supportsEmptyState
-
Constructor Details
-
HeatmapRenderer
public HeatmapRenderer()
-
-
Method Details
-
getName
Description copied from class:BaseRendererReturns the renderer name used by legends and UI labels.- Specified by:
getNamein interfaceChartRenderer- Overrides:
getNamein classBaseRenderer- Returns:
- renderer name
-
getTooltipText
Description copied from class:BaseRendererReturns tooltip text for the given data index, or null when not supported.- Specified by:
getTooltipTextin interfaceChartRenderer- Overrides:
getTooltipTextin classBaseRenderer- 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
Description copied from class:BaseRendererReturns the data index nearest to the given pixel coordinate, if supported.- Specified by:
getPointAtin interfaceChartRenderer- Overrides:
getPointAtin classBaseRenderer- Parameters:
pixel- mouse/crosshair position in component coordinatesmodel- data model for this layercontext- 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
Description copied from class:BaseRendererImplementation-specific drawing logic. Must follow Zero-Allocation rules.- Specified by:
drawDatain classBaseRenderer
-