sy-box-plot-chart

Box Plot

Summarize the median and spread with boxes and whiskers.

sy-box-plot-chart

Compare distributions across groups and explore outliers.

Whiskers follow the configured calculation rule. Inspect raw values as well when the sample is small.

Base chart tier: Pro. Features such as additional renderers and custom branding have separate entitlement requirements.

InputData description
dataPass raw samples as { category, values: [...] } or provide summary statistics.
orientationThe direction in which boxes are drawn.

Complete implementation example

html
<div id="chart-container" style="width: 100%; min-width: 0;"></div>

<script type="module">
  import { defineCustomElement as define0 } from '@syidax/advanced-pro/components/sy-box-plot-chart.js';
  define0();

  // Pro: complete registerLicense at app startup using your issued certificate.
  // The website preview certificate is not for use in customer apps.
  const specs = [
    {
      "id": "example-chart",
      "tag": "sy-box-plot-chart",
      "props": {
        "data": [
          {
            "category": "Process A",
            "values": [21, 24, 25, 28, 29, 31, 35, 47]
          },
          {
            "category": "Process B",
            "values": [25, 28, 30, 32, 34, 35, 37, 39]
          },
          {
            "category": "Process C",
            "values": [20, 25, 29, 32, 35, 38, 45, 52]
          }
        ],
        "orientation": "vertical",
        "width": 640,
        "height": 360,
        "brandPosition": "bottom-right",
        "brandLogo": ""
      }
    }
  ];
  const container = document.querySelector('#chart-container');
  const elements = specs.map(({ tag, id, props }) => {
    const element = document.createElement(tag);
    element.id = id;
    Object.assign(element, props);
    element.setAttribute('aria-label', 'box-plot example chart');
    return element;
  });
  container.replaceChildren(...elements);
  const chart = elements.at(-1);
  const onEvent = event => {
    console.log('pointClick', event.detail);
  };
  chart.addEventListener('pointClick', onEvent);
  const observer = new ResizeObserver(([entry]) => {
    const width = Math.max(160, Math.floor(entry.contentRect.width));
    elements.forEach(element => { element.width = width; });
  });
  observer.observe(container);

  // In an SPA, call this function when the view is disposed.
  function disposeChart() {
    observer.disconnect();
    chart.removeEventListener('pointClick', onEvent);
    container.replaceChildren();
  }
</script>

Properties

data

Pass raw samples as { category, values: [...] } or provide summary statistics.

ItemValue
JavaScript propertydata
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeBoxPlotData
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

width

Chart width in pixels. If the container width changes, update width from a ResizeObserver.

ItemValue
JavaScript propertywidth
HTML attributewidth
Typenumber
Default900

height

Chart height in pixels. Allow space for axes, titles, and the legend.

ItemValue
JavaScript propertyheight
HTML attributeheight
Typenumber
Default360

brandPosition

The corner where the logo is anchored. Community and Pro both support all four corners, using the same position on screen and in image exports.

ItemValue
JavaScript propertybrandPosition
HTML attributebrand-position
Type'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'
Default'bottom-right'
Allowed valuestop-left, top-right, bottom-left, bottom-right

xAxis

Configure the horizontal axis type, categories, range, and formatting. For a category axis, match the categories order to the value array indices. Charts supporting multiple axes can accept an axis array.

ItemValue
JavaScript propertyxAxis
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeXAxisInput
Defaultundefined
Literals in the typeauto, off

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

yAxis

Configure the vertical axis range, ticks, labels, and direction. Use consistent units for comparisons, and consider a zero baseline when comparing bar lengths.

ItemValue
JavaScript propertyyAxis
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeYAxisInput
Defaultundefined
Literals in the typeauto, off

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

gridLines

Grid lines: the value axis's on by default, the category axis's off (a category axis has no continuous grid).

ItemValue
JavaScript propertygridLines
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeCartesianGridLinesInput
Defaultundefined
Literals in the typeauto, off

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

crosshair

Crosshair that follows the cursor across the plot.

ItemValue
JavaScript propertycrosshair
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeCartesianCrosshairInput
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

zoom

Zoom: 'x' | 'y' | 'xy' | true (x) enable the drag rectangle, the pan (Shift + drag, the arrows), Ctrl + wheel, the pinch and the keyboard (+ / - / Escape) on the primary axes; an object refines them (mode / drag / pan / wheel / pinch / keyboard / minRangePx / resetButton / inside). Off by default; zoomTo / zoomBy / panBy / resetZoom work regardless of the gesture switches.

ItemValue
JavaScript propertyzoom
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeCartesianZoomInput
Defaultundefined
Literals in the typeauto, off, true, false, x, y, xy, inside

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

yMin

Set as an HTML attribute or JavaScript property. type: number.

ItemValue
JavaScript propertyyMin
HTML attributey-min
Typenumber
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

yMax

Set as an HTML attribute or JavaScript property. type: number.

ItemValue
JavaScript propertyyMax
HTML attributey-max
Typenumber
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

padding

The automatic domain pads the value span by this share (default 5 %).

ItemValue
JavaScript propertypadding
HTML attributepadding
Typenumber
Default0.05

orientation

The direction in which boxes are drawn.

ItemValue
JavaScript propertyorientation
HTML attributeorientation
TypeBoxPlotOrientation
Default'vertical'
Allowed valuesvertical, horizontal

boxColor

The box colour: its border (and, at box-fill-alpha, its fill); auto whiskers / outliers follow it.

ItemValue
JavaScript propertyboxColor
HTML attributebox-color
Typestring
DefaultDEFAULT_BOX_COLOR

boxFillAlpha

Set as an HTML attribute or JavaScript property. type: number.

ItemValue
JavaScript propertyboxFillAlpha
HTML attributebox-fill-alpha
Typenumber
DefaultDEFAULT_FILL_ALPHA

medianColor

Set as an HTML attribute or JavaScript property. type: string.

ItemValue
JavaScript propertymedianColor
HTML attributemedian-color
Typestring
DefaultDEFAULT_MEDIAN_COLOR

whiskerColor

Set as an HTML attribute or JavaScript property. type: string.

ItemValue
JavaScript propertywhiskerColor
HTML attributewhisker-color
Typestring
Default'auto'

outlierColor

Set as an HTML attribute or JavaScript property. type: string.

ItemValue
JavaScript propertyoutlierColor
HTML attributeoutlier-color
Typestring
Default'auto'

boxWidth

The box's share of the slot pitch (0.6), clamped between box-min-px and box-max-px.

ItemValue
JavaScript propertyboxWidth
HTML attributebox-width
Typenumber
DefaultBOX_DEFAULT_WIDTH_RATIO

boxMinPx

Set as an HTML attribute or JavaScript property. type: number.

ItemValue
JavaScript propertyboxMinPx
HTML attributebox-min-px
Typenumber
DefaultBOX_DEFAULT_MIN_PX

boxMaxPx

Set as an HTML attribute or JavaScript property. type: number.

ItemValue
JavaScript propertyboxMaxPx
HTML attributebox-max-px
Typenumber
DefaultBOX_DEFAULT_MAX_PX

capWidth

The whisker caps' share of the box width (0.5; 0 hides them).

ItemValue
JavaScript propertycapWidth
HTML attributecap-width
Typenumber
DefaultBOX_DEFAULT_CAP_RATIO

whiskerWidth

CSS px: the whisker / border thickness, the median thickness, the outlier radius.

ItemValue
JavaScript propertywhiskerWidth
HTML attributewhisker-width
Typenumber
Default1

medianWidth

Set as an HTML attribute or JavaScript property. type: number.

ItemValue
JavaScript propertymedianWidth
HTML attributemedian-width
Typenumber
Default2

outlierRadius

Set as an HTML attribute or JavaScript property. type: number.

ItemValue
JavaScript propertyoutlierRadius
HTML attributeoutlier-radius
Typenumber
Default3

notched

the stepped notch: the box narrows to notch-width of itself between the notch bounds (median ± 1.57 × IQR / √n).

ItemValue
JavaScript propertynotched
HTML attributenotched
Typeboolean
Defaultfalse

notchWidth

Set as an HTML attribute or JavaScript property. type: number.

ItemValue
JavaScript propertynotchWidth
HTML attributenotch-width
Typenumber
Default0.5

showMean

the mean marker: a mean-size px square in mean-color (auto = the median colour) at the mean.

ItemValue
JavaScript propertyshowMean
HTML attributeshow-mean
Typeboolean
Defaultfalse

meanColor

Set as an HTML attribute or JavaScript property. type: string.

ItemValue
JavaScript propertymeanColor
HTML attributemean-color
Typestring
Default'auto'

meanSize

Set as an HTML attribute or JavaScript property. type: number.

ItemValue
JavaScript propertymeanSize
HTML attributemean-size
Typenumber
Default6

whiskerRule

tukey (1.5 × IQR, the default), min-max (no outliers), percentile (), or a number of IQRs.

ItemValue
JavaScript propertywhiskerRule
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeBoxPlotWhiskerRule | string
Default'tukey'

quantileMethod

the quantile method: linear (R-7, the default), exclusive (R-6), nearest, lower, higher, midpoint.

ItemValue
JavaScript propertyquantileMethod
HTML attributequantile-method
TypeBoxPlotQuantileMethod | string
Default'linear'

whiskerPercentile

the percentile whisker rule's p (0 … 50, default 5: the whiskers at Q(p %) and Q(100 − p %)).

ItemValue
JavaScript propertywhiskerPercentile
HTML attributewhisker-percentile
Typenumber
Default5

chartTitle

The title inside the chart. Explain the data's unit and meaning alongside it.

ItemValue
JavaScript propertychartTitle
HTML attributechart-title
Typestring
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

chartSubtitle

The subtitle inside the chart.

ItemValue
JavaScript propertychartSubtitle
HTML attributechart-subtitle
Typestring
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

enableMouseTracking

Set as an HTML attribute or JavaScript property. type: boolean.

ItemValue
JavaScript propertyenableMouseTracking
HTML attributeenable-mouse-tracking
Typeboolean
Defaulttrue

tooltip

the box tooltip (the shared cartesian tooltip input: trigger, format, html, connector …), its switch, a formatter of the default text.

ItemValue
JavaScript propertytooltip
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeCartesianTooltipInput
Defaultundefined
Literals in the typeauto, off

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

tooltipEnabled

Set as an HTML attribute or JavaScript property. type: boolean.

ItemValue
JavaScript propertytooltipEnabled
HTML attributetooltip-show
Typeboolean
Defaulttrue

tooltipFormat

Pass as a JavaScript property. type: (detail: BoxPlotPointEventDetail) => string.

ItemValue
JavaScript propertytooltipFormat
HTML attributePass objects, arrays, and callbacks as JavaScript properties
Type(detail: BoxPlotPointEventDetail) => string
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

animated

Whether to animate initial display and data changes.

ItemValue
JavaScript propertyanimated
HTML attributeanimate
Typeboolean
Defaultfalse

animationDuration

Animation duration in milliseconds.

ItemValue
JavaScript propertyanimationDuration
HTML attributeanimation-duration
Typenumber
Default600

animationEasing

Allowed values: linear, ease-out, ease-in, ease-in-out. Default: 'ease-out'.

ItemValue
JavaScript propertyanimationEasing
HTML attributeanimation-easing
TypeBoxPlotEasing
Default'ease-out'
Allowed valueslinear, ease-out, ease-in, ease-in-out

animationType

Allowed values: initial, update. Default: undefined.

ItemValue
JavaScript propertyanimationType
HTML attributeanimation-type
TypeBoxPlotAnimationType
Defaultundefined
Allowed valuesinitial, update

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

streamSource

§3.6: an external stream source (category upserts); without one the chart keeps its own on the first push.

ItemValue
JavaScript propertystreamSource
HTML attributePass objects, arrays, and callbacks as JavaScript properties
TypeBoxPlotStreamSource
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

streamMax

Categories tracked by the internal stream at most (the oldest leave as windowSlid).

ItemValue
JavaScript propertystreamMax
HTML attributestream-max
Typenumber
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

streamWindow

The newest N streamed items the chart renders (the whole buffer when unset): the N categories pushed most recently keep their boxes, older streamed categories revert to their data box or leave.

ItemValue
JavaScript propertystreamWindow
HTML attributestream-window
Typenumber
Defaultundefined

undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.

engine

Renderer selection: auto, standard, or pro. Engine selection is separate from permission to use a Pro chart type.

ItemValue
JavaScript propertyengine
HTML attributeengine
TypeBoxPlotEngineMode
Default'auto'
Allowed valuesauto, standard, pro

unavailable

Allowed values: fallback, error. Default: 'fallback'.

ItemValue
JavaScript propertyunavailable
HTML attributeunavailable
TypeBoxPlotUnavailableBehaviour
Default'fallback'
Allowed valuesfallback, error

Events

rendered

Every drawn frame; engine is the engine status (requested / effective / code / the governing license feature).

Event name: rendered. Names are case-sensitive. Read the payload from detail on CustomEvent<BoxPlotRenderResult & { tier: BoxPlotEngineTier; engine?: ChartEngineStatus }>.

javascript
chart.addEventListener('rendered', event => {
  console.log(event.detail); // BoxPlotRenderResult & { tier: BoxPlotEngineTier; engine?: ChartEngineStatus }
});

pointClick

A point selection event. Read the selected data and index from CustomEvent.detail.

Event name: pointClick. Names are case-sensitive. Read the payload from detail on CustomEvent<BoxPlotPointEventDetail>.

javascript
chart.addEventListener('pointClick', event => {
  console.log(event.detail); // BoxPlotPointEventDetail
});

pointHover

CustomEvent.detail type: BoxPlotPointEventDetail | null. Event names are case-sensitive.

Event name: pointHover. Names are case-sensitive. Read the payload from detail on CustomEvent<BoxPlotPointEventDetail | null>.

javascript
chart.addEventListener('pointHover', event => {
  console.log(event.detail); // BoxPlotPointEventDetail | null
});

crosshairMove

CustomEvent.detail type: CartesianCrosshairEventDetail | null. Event names are case-sensitive.

Event name: crosshairMove. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianCrosshairEventDetail | null>.

javascript
chart.addEventListener('crosshairMove', event => {
  console.log(event.detail); // CartesianCrosshairEventDetail | null
});

zoomChange

Fired after every zoom change (drag / pan / wheel / pinch / keyboard / api / reset) with the new state.

Event name: zoomChange. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianZoomChangeEventDetail>.

javascript
chart.addEventListener('zoomChange', event => {
  console.log(event.detail); // CartesianZoomChangeEventDetail
});

pointContextMenu

CustomEvent.detail type: ChartPointContextMenuEventDetail<BoxPlotPointEventDetail>. Event names are case-sensitive.

Event name: pointContextMenu. Names are case-sensitive. Read the payload from detail on CustomEvent<ChartPointContextMenuEventDetail<BoxPlotPointEventDetail>>.

javascript
chart.addEventListener('pointContextMenu', event => {
  console.log(event.detail); // ChartPointContextMenuEventDetail<BoxPlotPointEventDetail>
});

appended

CustomEvent.detail type: { count: number; replaced: number }. Event names are case-sensitive.

Event name: appended. Names are case-sensitive. Read the payload from detail on CustomEvent<{ count: number; replaced: number }>.

javascript
chart.addEventListener('appended', event => {
  console.log(event.detail); // { count: number; replaced: number }
});

windowSlid

CustomEvent.detail type: { dropped: number }. Event names are case-sensitive.

Event name: windowSlid. Names are case-sensitive. Read the payload from detail on CustomEvent<{ dropped: number }>.

javascript
chart.addEventListener('windowSlid', event => {
  console.log(event.detail); // { dropped: number }
});

tooltipShow

the shared tooltip events (the controller emits them).

Event name: tooltipShow. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianTooltipEventDetail>.

javascript
chart.addEventListener('tooltipShow', event => {
  console.log(event.detail); // CartesianTooltipEventDetail
});

tooltipHide

CustomEvent.detail type: void. Event names are case-sensitive.

Event name: tooltipHide. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.

javascript
chart.addEventListener('tooltipHide', event => {
  console.log(event.detail); // void
});

tooltipAction

CustomEvent.detail type: CartesianTooltipActionEventDetail. Event names are case-sensitive.

Event name: tooltipAction. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianTooltipActionEventDetail>.

javascript
chart.addEventListener('tooltipAction', event => {
  console.log(event.detail); // CartesianTooltipActionEventDetail
});

chartAnimationStart

CustomEvent.detail type: void. Event names are case-sensitive.

Event name: chartAnimationStart. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.

javascript
chart.addEventListener('chartAnimationStart', event => {
  console.log(event.detail); // void
});

chartAnimationEnd

CustomEvent.detail type: void. Event names are case-sensitive.

Event name: chartAnimationEnd. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.

javascript
chart.addEventListener('chartAnimationEnd', event => {
  console.log(event.detail); // void
});

chartAnimationInterrupted

CustomEvent.detail type: void. Event names are case-sensitive.

Event name: chartAnimationInterrupted. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.

javascript
chart.addEventListener('chartAnimationInterrupted', event => {
  console.log(event.detail); // void
});

Methods

getDataTable

Current normalized table, including the retained stream; independent of GPU availability.

typescript
getDataTable(): Promise<ChartDataTable>

Return type: Promise<ChartDataTable>. Call the method after element registration and await its Promise result.

redraw

Redraw the chart using its current data and options. Inspect the rendered result after the returned Promise resolves.

typescript
redraw(): Promise<BoxPlotRenderResult>

Return type: Promise<BoxPlotRenderResult>. Call the method after element registration and await its Promise result.

getActiveTier

An asynchronous method. Check the argument and return types below.

typescript
getActiveTier(): Promise<BoxPlotEngineTier>

Return type: Promise<BoxPlotEngineTier>. Call the method after element registration and await its Promise result.

getUnavailableReason

Why the WebGPU renderer could not run (the fallback notice's reason); undefined when nothing fell back.

typescript
getUnavailableReason(): Promise<string | undefined>

Return type: Promise<string | undefined>. Call the method after element registration and await its Promise result.

setData

Replace the bar set.

typescript
setData(data: BoxPlotData): Promise<void>
ArgumentsTypeRequired
dataBoxPlotDataRequired

Return type: Promise<void>. Call the method after element registration and await its Promise result.

appendPoint

Append one value to the stream. Check the argument type and the licensing requirements for streaming.

typescript
appendPoint(datum: BoxPlotDatumInput): Promise<void>
ArgumentsTypeRequired
datumBoxPlotDatumInputRequired

Return type: Promise<void>. Call the method after element registration and await its Promise result.

appendBatch

Append multiple values to the stream. Check the argument type and the licensing requirements for streaming.

typescript
appendBatch(data: ReadonlyArray<BoxPlotDatumInput>): Promise<void>
ArgumentsTypeRequired
dataReadonlyArray<BoxPlotDatumInput>Required

Return type: Promise<void>. Call the method after element registration and await its Promise result.

shift

Drop the oldest streamed categories (the data boxes are not the stream).

typescript
shift(count: number): Promise<void>
ArgumentsTypeRequired
countnumberRequired

Return type: Promise<void>. Call the method after element registration and await its Promise result.

replace

Swap the streamed set (replace([]) clears it); the base values never leave. Without chart.streaming the dies upsert into the base like a batch (quietly: no appended, no binChanged, as a ring replace).

typescript
replace(data: ReadonlyArray<BoxPlotDatumInput>): Promise<void>
ArgumentsTypeRequired
dataReadonlyArray<BoxPlotDatumInput>Required

Return type: Promise<void>. Call the method after element registration and await its Promise result.

getStreamSource

The stream session's source (Chart Pro): like the stream methods it waits for a license still being confirmed.

typescript
getStreamSource(): Promise<BoxPlotStreamSource | undefined>

Return type: Promise<BoxPlotStreamSource | undefined>. Call the method after element registration and await its Promise result.

setAnimation

An asynchronous method. Check the argument and return types below.

typescript
setAnimation(options: { duration?: number; easing?: BoxPlotEasing; enabled?: boolean; type?: BoxPlotAnimationType }): Promise<void>
ArgumentsTypeRequired
options{ duration?: number; easing?: BoxPlotEasing; enabled?: boolean; type?: BoxPlotAnimationType }Required

Return type: Promise<void>. Call the method after element registration and await its Promise result.

pauseAnimation

Pause the current animation.

typescript
pauseAnimation(): Promise<void>

Return type: Promise<void>. Call the method after element registration and await its Promise result.

resumeAnimation

Resume a paused animation.

typescript
resumeAnimation(): Promise<void>

Return type: Promise<void>. Call the method after element registration and await its Promise result.

replayAnimation

Replay the initial sweep from min → value(s). No-op when animation is off / reduced.

typescript
replayAnimation(): Promise<void>

Return type: Promise<void>. Call the method after element registration and await its Promise result.

hitTest

The box under a host-local CSS point (the nearest slot, within half a pitch), or null.

typescript
hitTest(cssX: number, cssY: number): Promise<BoxPlotPointEventDetail | null>
ArgumentsTypeRequired
cssXnumberRequired
cssYnumberRequired

Return type: Promise<BoxPlotPointEventDetail | null>. Call the method after element registration and await its Promise result.

getBox

An asynchronous method. Check the argument and return types below.

typescript
getBox(index: number): Promise<BoxPlotBox | null>
ArgumentsTypeRequired
indexnumberRequired

Return type: Promise<BoxPlotBox | null>. Call the method after element registration and await its Promise result.

getBoxByCategory

An asynchronous method. Check the argument and return types below.

typescript
getBoxByCategory(category: string): Promise<BoxPlotBox | null>
ArgumentsTypeRequired
categorystringRequired

Return type: Promise<BoxPlotBox | null>. Call the method after element registration and await its Promise result.

getBoxCount

An asynchronous method. Check the argument and return types below.

typescript
getBoxCount(): Promise<number>

Return type: Promise<number>. Call the method after element registration and await its Promise result.

getBoxes

An asynchronous method. Check the argument and return types below.

typescript
getBoxes(): Promise<BoxPlotBox[]>

Return type: Promise<BoxPlotBox[]>. Call the method after element registration and await its Promise result.

getStatistics

the box with its derived numbers: the IQR, the variance, the whisker rule and its fences, the quantile method.

typescript
getStatistics(index: number): Promise<BoxPlotStatistics | null>
ArgumentsTypeRequired
indexnumberRequired

Return type: Promise<BoxPlotStatistics | null>. Call the method after element registration and await its Promise result.

getCategories

An asynchronous method. Check the argument and return types below.

typescript
getCategories(): Promise<string[]>

Return type: Promise<string[]>. Call the method after element registration and await its Promise result.

getExtent

An asynchronous method. Check the argument and return types below.

typescript
getExtent(): Promise<BoxPlotExtent>

Return type: Promise<BoxPlotExtent>. Call the method after element registration and await its Promise result.

getDomain

The data domain the grid spans.

typescript
getDomain(): Promise<BoxPlotDomain>

Return type: Promise<BoxPlotDomain>. Call the method after element registration and await its Promise result.

showTooltipAtIndex

open the tooltip on a box (the facade's showTooltipAtPoint routes here); null off the boxes or with the tooltip off.

typescript
showTooltipAtIndex(index: number): Promise<CartesianTooltipEventDetail | null>
ArgumentsTypeRequired
indexnumberRequired

Return type: Promise<CartesianTooltipEventDetail | null>. Call the method after element registration and await its Promise result.

hideTooltip

Close the currently visible tooltip.

typescript
hideTooltip(): Promise<void>

Return type: Promise<void>. Call the method after element registration and await its Promise result.

focusBoxAt

move the keyboard focus ring to a box (null off the boxes); emits pointHover like the walk.

typescript
focusBoxAt(index: number): Promise<BoxPlotPointEventDetail | null>
ArgumentsTypeRequired
indexnumberRequired

Return type: Promise<BoxPlotPointEventDetail | null>. Call the method after element registration and await its Promise result.

zoomTo

Zoom to explicit windows: x / y as { min, max } or [min, max] (null clears that orientation); xAxis / yAxis name the axis by id or slot index (default: the primary axis).

typescript
zoomTo(request: CartesianZoomRequest): Promise<CartesianZoomChangeEventDetail | null>
ArgumentsTypeRequired
requestCartesianZoomRequestRequired

Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.

zoomBy

Scale the current windows by factor (< 1 zooms in) around anchorFraction (0..1, default centre).

typescript
zoomBy(factor: number, anchorFraction?: number): Promise<CartesianZoomChangeEventDetail | null>
ArgumentsTypeRequired
factornumberRequired
anchorFractionnumberOptional

Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.

panBy

Slide the zoomed windows by data units ({ x?, y? }); a no-op at the full extent.

typescript
panBy(delta: { x?: number; y?: number }): Promise<CartesianZoomChangeEventDetail | null>
ArgumentsTypeRequired
delta{ x?: number; y?: number }Required

Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.

resetZoom

Reset the zoomed or panned range to the original data range.

typescript
resetZoom(): Promise<CartesianZoomChangeEventDetail | null>

Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.

getZoom

Read the current zoom range. Check the return type's nullability and the range for each axis.

typescript
getZoom(): Promise<CartesianZoomState | null>

Return type: Promise<CartesianZoomState | null>. Call the method after element registration and await its Promise result.

getZoomExtent

The full extent (and key) of the primary — or the named — axes (null before the first layout).

typescript
getZoomExtent(request?: CartesianZoomExtentRequest): Promise<CartesianZoomExtentDetail | null>
ArgumentsTypeRequired
requestCartesianZoomExtentRequestOptional

Return type: Promise<CartesianZoomExtentDetail | null>. Call the method after element registration and await its Promise result.

getEngineStatus

Requested engine vs what runs, and why (CHART-ADD-08): the decision for the current inputs, read without side effects (ProChartLicense.engineStatus); a renderer that failed at run time reports engine-unsupported.

typescript
getEngineStatus(): Promise<ChartEngineStatus>

Return type: Promise<ChartEngineStatus>. Call the method after element registration and await its Promise result.