Creates a new scatter trace instance and organizes data by X and Y coordinates.
The MAIDR layer containing scatter plot data
Protected ReadonlyobserversProtected ReadonlyidProtected ReadonlytypeProtected ReadonlytitleProtected ReadonlyxProtected ReadonlyyProtected ReadonlyfillProtected ReadonlynavigationProtected ReadonlylayerProtected ReadonlymovableProtected ReadonlysupportsAbstract property that subclasses must implement to indicate extrema support
ProtectedhighlightGets the current state of the trace including audio, braille, text, and highlight information.
The current TraceState
ProtectedoutProtectedhighlightReturns the appropriate highlight elements based on current navigation mode.
SVG elements for X-based or Y-based highlighting depending on mode
ProtectedvaluesProtectedbrailleProtectedaudioProtectedtextProtecteddimensionProtectedhighlightProtectedhasProtectedgetGets safe row and column indices to prevent accessing undefined values
Object with safe row and column indices
Registers an observer to receive state updates.
The observer to add
Removes an observer from receiving state updates.
The observer to remove
Notifies all registered observers with the current state.
Notifies observers that an out-of-bounds condition occurred.
Base implementation of navigation in HIGHER and LOWER modes of ROTOR, default is no-op Needs to be implemented in Line, Bar, Heatmap, Candlestick
ProtectedcompareUtility function to compare point values for rotor functionality
boolean value
Resets the trace to initial entry state
Get available extrema targets for the current navigation context
Array of extrema targets that can be navigated to Default implementation returns empty array (no extrema support)
Base implementation for navigateToExtrema Subclasses must override to provide actual implementation
The extrema target to navigate to
ProtectedfinalizeCommon post-navigation cleanup that should be called by subclasses after they update their internal state
ProtectedupdateDefault implementation for updating visual point position Subclasses can override if they need custom positioning logic
Checks if this plot supports extrema navigation.
True if extrema navigation is supported
Base implementation for getting current X value Subclasses can override if they have different data structures
Moves to a specific X value in the trace.
The X value to navigate to
True if the move was successful, false otherwise
Gets the unique identifier for this trace.
The trace ID
Checks if the specified coordinates are within bounds of the element.
The x-coordinate
The y-coordinate
Object containing the SVG element and its position
The SVG element to check bounds against
The row position of the element
The column position of the element
True if the point is in bounds, false otherwise
Cleans up resources and removes all highlight elements from the DOM.
ProtectedgetReturns an empty object to avoid grouping scatter points by audio tone.
Empty object without groupIndex to maintain consistent audio feedback
ProtectedhandleInitializes scatter plot navigation at the origin in column mode.
Checks if movement in the specified direction is possible from current position.
Direction or coordinate to check
True if movement is possible, false otherwise
ProtectedmapConverts SVG elements to center coordinates for proximity-based navigation.
Array of center points with coordinates and indices, or null if unavailable
Finds the nearest scatter point to the given screen coordinates.
The x-coordinate in screen space
The y-coordinate in screen space
The nearest point with its element and indices, or null if unavailable
Moves to the nearest scatter point at the specified screen coordinates.
The x-coordinate in screen space
The y-coordinate in screen space
Interface representing a trace with navigation and observation capabilities