Protected ReadonlyobserversProtected ReadonlyidProtected ReadonlytypeProtected ReadonlytitleProtected ReadonlyxProtected ReadonlyyProtected ReadonlyfillProtected ReadonlynavigationProtected ReadonlylayerProtected ReadonlysupportsAbstract property that subclasses must implement to indicate extrema support
Protected ReadonlymovableProtected ReadonlyhighlightProtectedhighlightGets the current state of the trace including audio, braille, text, and highlight information.
The current TraceState
ProtectedoutProtectedhighlightProtectedhasProtectedvaluesProtectedaudioProtectedbrailleProtectedtextProtecteddimensionProtectedgetGets 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.
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
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 trace resources including values and highlighted SVG elements.
ProtectedhandleOverride moveOnce for violin box plots to reset to bottom point (MIN section) when switching between violins. For vertical: FORWARD/BACKWARD changes violin (col), reset to MIN section (row = 1) For horizontal: UPWARD/DOWNWARD changes violin (row), reset to MIN section (col = 1)
Moves to the next boxplot section that matches the comparison criteria.
The direction to move (left, right, up, or down)
The comparison type (lower or higher)
True if a target was found, false otherwise
Sets the current point based on direction and index.
The direction of movement (left, right, up, or down)
The index to set
Moves upward in rotor mode within boxplot segments.
The comparison mode (lower or higher)
True if the move was successful, false otherwise
Moves downward in rotor mode within boxplot segments.
The comparison mode (lower or higher)
True if the move was successful, false otherwise
Moves left in rotor mode within boxplot segments.
The comparison mode (lower or higher)
True if the move was successful, false otherwise
Moves right in rotor mode within boxplot segments.
The comparison mode (lower or higher)
True if the move was successful, false otherwise
ProtectedmapMaps SVG elements to their center coordinates for proximity detection.
Array of center points with element references or null if no elements exist
Finds the nearest boxplot element at the specified coordinates.
The x-coordinate
The y-coordinate
Object containing the element and its position, or null if not found
Moves to the nearest point at the specified coordinates (disabled for boxplots).
The x-coordinate
The y-coordinate
Override to return the violin index (numeric) for layer switching. For violin box plots (vertical): col represents violin index. For violin box plots (horizontal): row represents violin index. Only applicable for violin box plots.
The violin index as a number for violin box plots. For vertical box plots, returns the column index. For horizontal box plots, returns the row index. For regular box plots, returns the parent implementation result (which may be a string or number). Returns null if the position is invalid.
Override moveToXValue for violin box plots to reset to bottom point (MIN section) when moving to a different violin. For vertical: sets col (violin index) and resets row to 1 (MIN section) For horizontal: sets row (violin index) and resets col to 1 (MIN section)
Get the current Y value from the box plot. This is used when switching to KDE layer to preserve the Y level. Only applicable for violin box plots.
The current Y value from the box plot section at the current position. For outliers (arrays), returns the first value. Returns null if the position is invalid, if the value cannot be determined, or if this is not a violin box plot.
Move to a specific violin (X value) and find the closest box plot section with the given Y value. This is used when switching from KDE layer to preserve Y level. Only applicable for violin box plots.
The violin index (X value) to move to. Must be a numeric index. String values are not supported.
The Y value to find the closest matching box plot section for
true if the move was successful (valid violin index and closest section found), false if xValue is not a number, if the violin index is out of bounds, or if this is not a violin box plot
Handle switching from another trace. Implements special handling for switching from violin KDE layer to preserve both violin position (X) and Y value. Only applicable for violin box plots.
The trace we're switching from
true if handled (switching from violin KDE to violin box), false otherwise
Concrete implementation of a box plot trace supporting vertical and horizontal orientations. Handles boxplot sections (min, Q1, Q2, Q3, max, outliers) and rotor-based navigation.