MAIDR Documentation - v3.58.2
    Preparing search index...

    Class ViolinKdeTrace

    Concrete trace for violin KDE (kernel density estimation) layers.

    Data layout: points[violin][curvePosition] = ViolinKdePoint

    • Row index = which violin (categorical group)
    • Col index = position along the KDE curve

    Navigation (vertical):

    • Left/Right (FORWARD/BACKWARD) = switch between violins (change row)
    • Up/Down (UPWARD/DOWNWARD) = traverse along the curve (change col)

    Navigation (horizontal):

    • Up/Down (UPWARD/DOWNWARD) = switch between violins (change row)
    • Left/Right (FORWARD/BACKWARD) = traverse along the curve (change col)

    Audio:

    • Pitch: derived from density values of the reference violin (row 0) for consistent pitch scaling across all violins
    • Volume: derived from the current violin's density at current position, normalized to 0-1 via volumeScale

    Extends AbstractTrace directly (no SmoothTrace/LineTrace dependency).

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    observers: Observer<TraceState>[]
    isWarning: boolean
    id: string
    type: TraceType
    title: string
    xAxis: string
    yAxis: string
    fill: string
    navigationService: NavigationService
    layer: MaidrLayer
    supportsExtrema: false

    Abstract property that subclasses must implement to indicate extrema support

    movable: Movable
    highlightValues: SVGElement[][] | null
    highlightCenters:
        | {
            x: number;
            y: number;
            row: number;
            col: number;
            element: SVGElement;
        }[]
        | null

    Accessors

    • get isInitialEntry(): boolean

      Returns boolean

    • set isInitialEntry(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get isOutOfBounds(): boolean

      Returns boolean

    • set isOutOfBounds(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get state(): TraceState

      Gets the current state of the trace including audio, braille, text, and highlight information.

      Returns TraceState

      The current TraceState

    Methods

    • Gets safe row and column indices to prevent accessing undefined values

      Returns { row: number; col: number }

      Object with safe row and column indices

    • Base implementation of navigation in HIGHER and LOWER modes of ROTOR, default is no-op Needs to be implemented in Line, Bar, Heatmap, Candlestick

      Parameters

      • _direction: "left" | "right" | "up" | "down"
      • _type: "lower" | "higher"

      Returns boolean

    • Parameters

      • a: number

        Utility function to compare point values for rotor functionality

      • b: number
      • type: "lower" | "higher"

      Returns boolean

      boolean value

    • Moves up in rotor mode, optionally filtering by lower or higher values.

      Parameters

      • Optional_mode: "lower" | "higher"

        Optional mode for filtering (lower or higher)

      Returns boolean

      Error always - subclasses must override this method

    • Moves down in rotor mode, optionally filtering by lower or higher values.

      Parameters

      • Optional_mode: "lower" | "higher"

        Optional mode for filtering (lower or higher)

      Returns boolean

      Error always - subclasses must override this method

    • Moves left in rotor mode, optionally filtering by lower or higher values.

      Parameters

      • Optional_mode: "lower" | "higher"

        Optional mode for filtering (lower or higher)

      Returns boolean

      Error always - subclasses must override this method

    • Moves right in rotor mode, optionally filtering by lower or higher values.

      Parameters

      • Optional_mode: "lower" | "higher"

        Optional mode for filtering (lower or higher)

      Returns boolean

      Error always - subclasses must override this method

    • Get all original (visible) SVG elements for this trace. These are the actual rendered elements, not the hidden clones used for highlighting. Used by HighlightService for high contrast mode color changes.

      Returns SVGElement[]

      Array of all original SVG elements, or empty array if none

    • Moves to the nearest point at the specified coordinates (used for hover functionality).

      Parameters

      • x: number

        The x-coordinate

      • y: number

        The y-coordinate

      Returns void

    • Checks if the specified coordinates are within bounds of the element.

      Parameters

      • x: number

        The x-coordinate

      • y: number

        The y-coordinate

      • element: { element: SVGElement; row: number; col: number }

        Object containing the SVG element and its position

        • element: SVGElement

          The SVG element to check bounds against

        • row: number

          The row position of the element

        • col: number

          The column position of the element

      Returns boolean

      True if the point is in bounds, false otherwise

    • Returns the current Y value for cross-layer Y preservation.

      Returns number | null

    • Moves to a specific violin (X) and closest Y position on the KDE curve.

      Parameters

      Returns boolean

    • Parameters

      • Optionalselectors: string[]

      Returns SVGElement[][] | null

    • Returns { x: number; y: number; row: number; col: number; element: SVGElement }[] | null

    • Parameters

      • x: number
      • y: number

      Returns { element: SVGElement; row: number; col: number } | null