Protected ReadonlyobserversProtected ReadonlyidProtected ReadonlytypeProtected ReadonlytitleProtected ReadonlyxProtected ReadonlyyProtected ReadonlyfillProtected ReadonlynavigationProtected ReadonlylayerProtected ReadonlysupportsAbstract property that subclasses must implement to indicate extrema support
Protected ReadonlyrotorProtected ReadonlymovableProtected ReadonlypointsProtected ReadonlylineProtected ReadonlyhighlightProtectedhighlightProtected ReadonlyminProtected ReadonlymaxProtectedoutProtectedhighlightProtectedhasProtectedvaluesProtectedbrailleProtecteddimensionGet the state for this smooth trace. Overrides the parent state to set plotType to 'smooth' for proper identification in instruction text and layer announcements.
The trace state with plotType set to 'smooth'
ProtectedtextOverride text() to format display for violin KDE layers:
ProtectedaudioViolin KDE layers use a custom, density-based audio mapping:
volumeScale.This mirrors the original violin audio behavior while conforming to the current AudioState shape used by AudioService.
ProtectedgetGets 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.
Resets the trace to initial entry state
ProtectedfinalizeCommon post-navigation cleanup that should be called by subclasses after they update their internal state
Checks if this plot supports extrema navigation.
True if extrema navigation is supported
Gets the unique identifier for this trace.
The trace ID
Moves to the nearest point at the specified coordinates (used for hover functionality).
The x-coordinate
The y-coordinate
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.
ProtectedmapGet extrema targets for the current line plot Returns min and max values within the current group
Array of extrema targets for navigation
Navigate to a specific extrema target
The extrema target to navigate to
ProtectedupdateUpdate the visual position of the current point This method should be called when navigation changes
Base implementation of navigation in HIGHER and LOWER modes of ROTOR, default is no-op Needs to be implemented in Line, Bar, Heatmap, Candlestick
Utility function to compare point values for rotor functionality
boolean value
ProtectedhandleProtectedmapMaps selectors to SVG elements for violin KDE layers. Supports both old format (single pattern selector) and new format (one selector per violin). Each selector corresponds to one row in the points array.
Optionalselectors: string[]Override to return the row index (which violin) for layer switching. For violin KDE layers, row represents the violin index (numeric).
The violin index (row index) as a number, representing which violin is currently active. Returns null if the position is invalid.
Override moveToXValue to reset to bottom point (col = 0) when moving to a different violin. This ensures that when navigating to a new violin, we start from the bottom of the curve.
Get the current Y value from the KDE curve. This is used when switching to box plot layer to preserve the Y level.
The current Y value from the KDE curve at the current position (row, col). Returns null if the position is invalid or if no valid Y value can be determined.
Move to a specific violin (X value) and find the closest point on the KDE curve with the given Y value. This is used when switching from box plot layer to preserve Y level.
The violin index (X value) to move to. Must be a numeric index. String values are not supported as violin plots use numeric indices.
The Y value to find the closest matching point for on the KDE curve
true if the move was successful (valid violin index and Y value found), false if xValue is not a number or if the violin index is out of bounds
Handle switching from another trace. Implements special handling for switching from violin box plot layer to preserve both violin position (X) and Y value.
The trace we're switching from
true if handled (switching from violin box plot), false otherwise
Specialized trace for violin plot KDE layers. Overrides navigation so that: