Interface ChartRenderer
- All Known Implementing Classes:
AbstractMedicalSweepRenderer, AdaptiveFunctionRenderer, ADXRenderer, AlluvialRenderer, ArcDiagramRenderer, AreaRenderer, ATRRenderer, AutocorrelationRenderer, BandRenderer, BarRenderer, BaselineAreaRenderer, BaseRenderer, BeeswarmRenderer, BollingerBandsRenderer, BoxPlotRenderer, BubbleRenderer, BulletChartRenderer, CandlestickHollowRenderer, CandlestickHollowRenderer, CandlestickRenderer, CapnographyRenderer, ChangePointRenderer, ChernoffFacesRenderer, ChordDiagramRenderer, ChordFlowRenderer, ColumnRenderer, ConfidenceIntervalRenderer, ControlChartRenderer, DelaunayRenderer, DendrogramRenderer, DependencyWheelRenderer, DonutRenderer, DotPlotRenderer, ECDFRenderer, ECGRenderer, ECGRhythmRenderer, EEGRenderer, EMGRenderer, EnvelopeRenderer, EOGRenderer, ErrorBarRenderer, FibonacciRenderer, FibonacciRetracementRenderer, FourierOverlayRenderer, GanttRenderer, GanttResourceViewRenderer, GaugeBandsRenderer, GaugeRenderer, GroupedBarRenderer, HeatmapContourRenderer, HeatmapRenderer, HeikinAshiRenderer, HexbinRenderer, HighLowRenderer, HistogramRenderer, HorizonChartRenderer, HorizonRenderer, IBPRenderer, IchimokuCloudRenderer, IchimokuRenderer, ImpulseRenderer, JoyplotRenderer, KagiRenderer, KDERenderer, LineRenderer, LiveFFTRenderer, LoessRenderer, LollipopRenderer, MACDRenderer, MarimekkoRenderer, MedicalSweepRenderer, MinMaxMarkerRenderer, MovingAverageRenderer, NetworkRenderer, NightingaleRoseRenderer, NIRSRenderer, OBVRenderer, OutlierDetectionRenderer, ParabolicSARRenderer, ParallelCoordinatesRenderer, ParetoRenderer, PeakDetectionRenderer, PieRenderer, PivotPointsRenderer, PointAndFigureAdvancedRenderer, PointAndFigureRenderer, PolarAdvancedRenderer, PolarLineRenderer, PolarRenderer, PolynomialRegressionRenderer, PPGRenderer, QQPlotRenderer, QuantileRegressionRenderer, RadarRenderer, RadialBarRenderer, RadialStackedRenderer, RangeRenderer, ReferenceLineRenderer, RegressionLineRenderer, RenkoRenderer, RidgeLineRenderer, RSIRenderer, RugPlotRenderer, SankeyProRenderer, SankeyRenderer, ScatterRenderer, SemiDonutRenderer, SlopeRenderer, SparklineRenderer, SpectrogramMedicalRenderer, SpectrogramRenderer, SpirometryRenderer, SplineRenderer, StackedAreaRenderer, StackedBarRenderer, StatisticalErrorBarRenderer, StepAreaRenderer, StepRenderer, StochasticRenderer, StreamgraphRenderer, SunburstRenderer, SunburstRenderer, SweepEraseEKGRenderer, TernaryContourRenderer, TernaryPhasediagramRenderer, TernaryPlotRenderer, ThresholdRenderer, TrendDecompositionRenderer, UltrasoundMModeRenderer, VCGRenderer, VectorFieldRenderer, VectorFieldRenderer, VentilatorWaveformRenderer, ViolinPlotRenderer, VolumeProfileRenderer, VolumeRenderer, VoronoiRenderer, WaterfallRenderer, WindRoseRenderer
public interface ChartRenderer
Defines the contract for custom chart renderers.
- Since:
- 2025-06-01
- Version:
- 1.0.0
- Author:
- Arber Gashi
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidClears any hover/highlight state.default PlotContextcreateContext(Rectangle2D bounds, ChartModel model) Creates a default plot context for rendering.getFocusValues(int index, ChartModel model, PlotContext context) Contributes structured focus values for interactive UI elements.getName()Returns the human-readable renderer name for legends/tooltips.getPointAt(Point2D pixel, ChartModel model, PlotContext context) Returns the nearest point index to the given pixel, if supported.default double[]getPreferredYRange(ChartModel model) Optional Y-range override for autoscaling.default StringgetTooltipText(int index, ChartModel model) Returns the formatted tooltip text for a given data point index.default booleanIndicates whether a legend entry should be created for this renderer.voidrender(Graphics2D g2, ChartModel model, PlotContext context) Renders the chart contents into the provided graphics context.default voidrenderEmptyState(Graphics2D g2, ChartModel model, PlotContext context) Renders a renderer-specific empty state.default booleanWhether this renderer can draw an empty-state placeholder when its model is empty.
-
Method Details
-
render
Renders the chart contents into the provided graphics context.- Parameters:
g2- graphics target (already configured by the panel)model- data model for this layercontext- current plot context (bounds, scale, theme)
-
getPointAt
Returns the nearest point index to the given pixel, if supported.- Parameters:
pixel- mouse/crosshair position in component coordinatesmodel- data model for this layercontext- current plot context- Returns:
- optional point index
-
getTooltipText
Returns the formatted tooltip text for a given data point index. The renderer is responsible for knowing the data's semantics.Default implementation returns null; renderers that need custom tooltips may override.
- 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.
-
getFocusValues
Contributes structured focus values for interactive UI elements.This is used by the interactive legend and advanced tooltips. The default implementation returns an empty map to keep existing renderers source-compatible.
Typical keys for financial charts: "Open", "High", "Low", "Close", "Volume". Analysis renderers may contribute indicator values (e.g. "MACD", "Signal", "Histogram").
- Parameters:
index- focused point indexmodel- the layer modelcontext- plot context- Returns:
- map of key/value pairs to display
-
getPreferredYRange
Optional Y-range override for autoscaling.Renderers may return a {minY, maxY} array when the visible range should be based on derived data rather than the model's raw Y-values (e.g. indicators like MACD).
- Parameters:
model- the layer model- Returns:
- {minY, maxY} or null to use model Y-values
-
supportsEmptyState
default boolean supportsEmptyState()Whether this renderer can draw an empty-state placeholder when its model is empty. -
renderEmptyState
Renders a renderer-specific empty state. Called only whensupportsEmptyState()is true.- Parameters:
g2- graphics targetmodel- data model for this layer (empty)context- current plot context
-
getName
String getName()Returns the human-readable renderer name for legends/tooltips.- Returns:
- renderer name
-
isLegendRequired
default boolean isLegendRequired()Indicates whether a legend entry should be created for this renderer.- Returns:
- true if the renderer should appear in the legend
-
clearHover
default void clearHover()Clears any hover/highlight state. -
createContext
Creates a default plot context for rendering.- Parameters:
bounds- plot bounds in pixel coordinatesmodel- data model for this layer- Returns:
- a plot context instance
-