sy-waterfall-chart
Waterfall
증감이 누적되어 최종값이 되는 과정을 보여줍니다.
sy-waterfall-chart
매출·비용·재고의 시작값, 변화, 합계를 설명하세요.
total·subtotal은 일반 증감과 의미가 다릅니다. 합계를 delta로 한 번 더 더하지 마세요.
기본 차트 등급: Pro. 추가 렌더러·커스텀 브랜딩 등 기능의 권한은 별도입니다.
| 입력 | 데이터 설명 |
|---|---|
data | { category, value?, kind? } 배열입니다. kind는 delta·subtotal·total입니다. |
- Components에서 실행하기
옵션 변경과 프레임워크별 코드
- 공통 설치와 연결
전체 적용 예제
<div id="chart-container" style="width: 100%; min-width: 0;"></div>
<script type="module">
import { defineCustomElement as define0 } from '@syidax/advanced-pro/components/sy-waterfall-chart.js';
define0();
// Pro: 앱 시작 시 발급받은 인증서로 registerLicense를 완료하세요.
// 홈페이지 미리보기의 인증서는 고객 앱에서 사용하지 않습니다.
const specs = [
{
"id": "example-chart",
"tag": "sy-waterfall-chart",
"props": {
"data": [
{
"category": "기초",
"value": 100
},
{
"category": "신규",
"value": 45
},
{
"category": "해지",
"value": -20
},
{
"category": "추가",
"value": 15
},
{
"category": "합계",
"kind": "total"
}
],
"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', 'waterfall 예제 차트');
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);
// SPA에서는 화면이 해제될 때 이 함수를 호출하세요.
function disposeChart() {
observer.disconnect();
chart.removeEventListener('pointClick', onEvent);
container.replaceChildren();
}
</script>Properties
data
{ category, value?, kind? } 배열입니다. kind는 delta·subtotal·total입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | data |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | WaterfallData |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
- WaterfallData
타입 정의
width
차트의 너비를 px 단위로 지정합니다. 컨테이너 너비가 변하는 앱에서는 ResizeObserver에서 width를 갱신하세요.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | width |
| HTML attribute | width |
| 타입 | number |
| 기본값 | 900 |
height
차트의 높이를 px 단위로 지정합니다. 축, 제목과 범례가 차지하는 공간을 함께 고려하세요.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | height |
| HTML attribute | height |
| 타입 | number |
| 기본값 | 360 |
brandLogo
기본값은 Syidax 심볼과 워드마크입니다. Pro의 chart.branding 권한으로 none을 지정해 제거하거나 PNG·JPEG·WebP data URL로 교체할 수 있습니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | brandLogo |
| HTML attribute | brand-logo |
| 타입 | string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
brandPosition
로고를 고정할 코너입니다. Community·Pro 모두 네 코너 중 하나를 선택할 수 있으며 화면과 이미지 내보내기에 같은 위치를 사용합니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | brandPosition |
| HTML attribute | brand-position |
| 타입 | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' |
| 기본값 | 'bottom-right' |
| 허용값 | top-left, top-right, bottom-left, bottom-right |
xAxis
가로축의 종류, 범주, 범위와 표시 형식을 설정합니다. category 축은 categories의 순서를 값 배열의 인덱스와 맞추세요. 여러 축을 받는 경우 축 배열로 전달할 수 있습니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | xAxis |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | XAxisInput |
| 기본값 | undefined |
| 타입에 포함된 리터럴 | auto, off |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
- XAxisInput
타입 정의
yAxis
세로축의 범위, 눈금, 레이블과 방향을 설정합니다. 비교하는 값의 단위를 맞추고, 막대의 길이를 비교할 때는 0 기준을 고려하세요.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | yAxis |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | YAxisInput |
| 기본값 | undefined |
| 타입에 포함된 리터럴 | auto, off |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
- YAxisInput
타입 정의
gridLines
Grid lines: the value axis's on by default, the category axis's off.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | gridLines |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | CartesianGridLinesInput |
| 기본값 | undefined |
| 타입에 포함된 리터럴 | auto, off |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
crosshair
Crosshair that follows the cursor across the plot.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | crosshair |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | CartesianCrosshairInput |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
zoom
Zoom (Storybook parity, 2026-09-10): 'x' | 'y' | 'xy' | true (x) enable the drag rectangle, the pan, the Ctrl + wheel, the pinch and the keyboard (+ / - / Escape) on the primary axes; an object refines mode / drag / keyboard / minRangePx / resetButton / pan / wheel / pinch / inside. Off by default; the methods (zoomTo / zoomBy / panBy / resetZoom) work regardless of the gesture switches.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | zoom |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | CartesianZoomInput |
| 기본값 | undefined |
| 타입에 포함된 리터럴 | auto, off, true, false, x, y, xy, inside |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
- CartesianZoomInput
타입 정의
yMin
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | yMin |
| HTML attribute | y-min |
| 타입 | number |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
yMax
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | yMax |
| HTML attribute | y-max |
| 타입 | number |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
padding
The automatic domain pads the value span by this share (default 5 %); zero is always inside.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | padding |
| HTML attribute | padding |
| 타입 | number |
| 기본값 | 0.05 |
upColor
The bar colours: a rising delta, a falling delta, a total / subtotal; the connectors; the hovered / focused bar.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | upColor |
| HTML attribute | up-color |
| 타입 | string |
| 기본값 | DEFAULT_UP_COLOR |
downColor
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | downColor |
| HTML attribute | down-color |
| 타입 | string |
| 기본값 | DEFAULT_DOWN_COLOR |
totalColor
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | totalColor |
| HTML attribute | total-color |
| 타입 | string |
| 기본값 | DEFAULT_TOTAL_COLOR |
connectorColor
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | connectorColor |
| HTML attribute | connector-color |
| 타입 | string |
| 기본값 | DEFAULT_CONNECTOR_COLOR |
activeColor
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | activeColor |
| HTML attribute | active-color |
| 타입 | string |
| 기본값 | DEFAULT_ACTIVE_COLOR |
barWidth
The bar's share of the slot pitch (0.6), clamped between bar-min-px and bar-max-px.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | barWidth |
| HTML attribute | bar-width |
| 타입 | number |
| 기본값 | WATERFALL_DEFAULT_WIDTH_RATIO |
barMinPx
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | barMinPx |
| HTML attribute | bar-min-px |
| 타입 | number |
| 기본값 | WATERFALL_DEFAULT_MIN_PX |
barMaxPx
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | barMaxPx |
| HTML attribute | bar-max-px |
| 타입 | number |
| 기본값 | WATERFALL_DEFAULT_MAX_PX |
connectorWidth
The connector's thickness in CSS px, and its switch.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | connectorWidth |
| HTML attribute | connector-width |
| 타입 | number |
| 기본값 | 1 |
showConnectors
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | showConnectors |
| HTML attribute | show-connectors |
| 타입 | boolean |
| 기본값 | true |
showTotal
Append a grand-total bar after the last step (unless it already is a total), named total-label ().
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | showTotal |
| HTML attribute | show-total |
| 타입 | boolean |
| 기본값 | false |
totalLabel
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | totalLabel |
| HTML attribute | total-label |
| 타입 | string |
| 기본값 | WATERFALL_DEFAULT_TOTAL_LABEL |
detectResult
Recognise a last step given as a plain value equal to the running total as the RESULT bar (a total from zero; detected: true); off → it stays a delta.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | detectResult |
| HTML attribute | detect-result |
| 타입 | boolean |
| 기본값 | true |
lastResult
True: the last merged step is a result spanning zero and the preceding running total, ignoring its value/colour. False: disable detection, preserving explicit datum kinds. Omitted: use detect-result.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | lastResult |
| HTML attribute | last-result |
| 타입 | boolean |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
showLabels
The value labels (off by default): label-mode value (a delta's signed change, a total's running total) / running / both; labelFormat(bar) replaces the text.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | showLabels |
| HTML attribute | show-labels |
| 타입 | boolean |
| 기본값 | false |
labelMode
허용값: value, running, both. 기본값: 'value'.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelMode |
| HTML attribute | label-mode |
| 타입 | WaterfallLabelMode |
| 기본값 | 'value' |
| 허용값 | value, running, both |
- WaterfallLabelMode
타입 정의
labelFormat
JavaScript 프로퍼티로 전달합니다. 타입: (bar: WaterfallBar) => string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelFormat |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | (bar: WaterfallBar) => string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
- WaterfallBar
타입 정의
chartTitle
차트 내부 제목입니다. 데이터의 단위와 의미를 함께 설명하세요.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | chartTitle |
| HTML attribute | chart-title |
| 타입 | string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
chartSubtitle
차트 내부 부제목입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | chartSubtitle |
| HTML attribute | chart-subtitle |
| 타입 | string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
enableMouseTracking
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | enableMouseTracking |
| HTML attribute | enable-mouse-tracking |
| 타입 | boolean |
| 기본값 | true |
tooltip
The bar tooltip (the shared cartesian tooltip input: trigger, format, html, connector …), its switch, a formatter of the default text.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | tooltip |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | CartesianTooltipInput |
| 기본값 | undefined |
| 타입에 포함된 리터럴 | auto, off |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
tooltipEnabled
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | tooltipEnabled |
| HTML attribute | tooltip-show |
| 타입 | boolean |
| 기본값 | true |
tooltipFormat
JavaScript 프로퍼티로 전달합니다. 타입: (detail: WaterfallPointEventDetail) => string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | tooltipFormat |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | (detail: WaterfallPointEventDetail) => string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
animated
초기 표시와 데이터 변경의 애니메이션 사용 여부입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | animated |
| HTML attribute | animate |
| 타입 | boolean |
| 기본값 | false |
animationDuration
애니메이션 지속 시간(ms).
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | animationDuration |
| HTML attribute | animation-duration |
| 타입 | number |
| 기본값 | 600 |
animationEasing
허용값: linear, ease-out, ease-in, ease-in-out. 기본값: 'ease-out'.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | animationEasing |
| HTML attribute | animation-easing |
| 타입 | WaterfallEasing |
| 기본값 | 'ease-out' |
| 허용값 | linear, ease-out, ease-in, ease-in-out |
- WaterfallEasing
타입 정의
animationType
허용값: initial, update. 기본값: undefined.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | animationType |
| HTML attribute | animation-type |
| 타입 | WaterfallAnimationType |
| 기본값 | undefined |
| 허용값 | initial, update |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
streamSource
§3.6: an external stream source (category upserts); without one the chart keeps its own on the first push.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | streamSource |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | WaterfallStreamSource |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
streamMax
Steps tracked by the internal stream at most (the oldest leave as windowSlid).
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | streamMax |
| HTML attribute | stream-max |
| 타입 | number |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
streamWindow
The newest N streamed steps the chart renders (the whole buffer when unset).
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | streamWindow |
| HTML attribute | stream-window |
| 타입 | number |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
engine
auto·standard·pro 렌더러 선택입니다. 엔진 선택은 차트 종류의 Pro 사용 권한과 별개입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | engine |
| HTML attribute | engine |
| 타입 | WaterfallEngineMode |
| 기본값 | 'auto' |
| 허용값 | auto, standard, pro |
- WaterfallEngineMode
타입 정의
Events
rendered
Every drawn frame; engine is the engine status (requested / effective / code / the governing license feature).
이벤트 이름: rendered. 대소문자를 구분합니다. payload는 CustomEvent<WaterfallRenderResult & { tier: WaterfallEngineTier; engine?: ChartEngineStatus }>의 detail에서 읽습니다.
chart.addEventListener('rendered', event => {
console.log(event.detail); // WaterfallRenderResult & { tier: WaterfallEngineTier; engine?: ChartEngineStatus }
});- WaterfallRenderResult
타입 정의
- WaterfallEngineTier
타입 정의
- ChartEngineStatus
타입 정의
pointClick
점 선택 이벤트입니다. CustomEvent.detail에서 선택한 데이터와 인덱스를 읽습니다.
이벤트 이름: pointClick. 대소문자를 구분합니다. payload는 CustomEvent<WaterfallPointEventDetail>의 detail에서 읽습니다.
chart.addEventListener('pointClick', event => {
console.log(event.detail); // WaterfallPointEventDetail
});pointHover
CustomEvent.detail 타입: WaterfallPointEventDetail | null. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: pointHover. 대소문자를 구분합니다. payload는 CustomEvent<WaterfallPointEventDetail | null>의 detail에서 읽습니다.
chart.addEventListener('pointHover', event => {
console.log(event.detail); // WaterfallPointEventDetail | null
});crosshairMove
CustomEvent.detail 타입: CartesianCrosshairEventDetail | null. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: crosshairMove. 대소문자를 구분합니다. payload는 CustomEvent<CartesianCrosshairEventDetail | null>의 detail에서 읽습니다.
chart.addEventListener('crosshairMove', event => {
console.log(event.detail); // CartesianCrosshairEventDetail | null
});pointContextMenu
CustomEvent.detail 타입: ChartPointContextMenuEventDetail<WaterfallPointEventDetail>. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: pointContextMenu. 대소문자를 구분합니다. payload는 CustomEvent<ChartPointContextMenuEventDetail<WaterfallPointEventDetail>>의 detail에서 읽습니다.
chart.addEventListener('pointContextMenu', event => {
console.log(event.detail); // ChartPointContextMenuEventDetail<WaterfallPointEventDetail>
});appended
CustomEvent.detail 타입: { count: number; replaced: number }. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: appended. 대소문자를 구분합니다. payload는 CustomEvent<{ count: number; replaced: number }>의 detail에서 읽습니다.
chart.addEventListener('appended', event => {
console.log(event.detail); // { count: number; replaced: number }
});windowSlid
CustomEvent.detail 타입: { dropped: number }. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: windowSlid. 대소문자를 구분합니다. payload는 CustomEvent<{ dropped: number }>의 detail에서 읽습니다.
chart.addEventListener('windowSlid', event => {
console.log(event.detail); // { dropped: number }
});tooltipShow
The shared tooltip events (the controller emits them).
이벤트 이름: tooltipShow. 대소문자를 구분합니다. payload는 CustomEvent<CartesianTooltipEventDetail>의 detail에서 읽습니다.
chart.addEventListener('tooltipShow', event => {
console.log(event.detail); // CartesianTooltipEventDetail
});tooltipHide
CustomEvent.detail 타입: void. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: tooltipHide. 대소문자를 구분합니다. payload는 CustomEvent<void>의 detail에서 읽습니다.
chart.addEventListener('tooltipHide', event => {
console.log(event.detail); // void
});tooltipAction
CustomEvent.detail 타입: CartesianTooltipActionEventDetail. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: tooltipAction. 대소문자를 구분합니다. payload는 CustomEvent<CartesianTooltipActionEventDetail>의 detail에서 읽습니다.
chart.addEventListener('tooltipAction', event => {
console.log(event.detail); // CartesianTooltipActionEventDetail
});chartAnimationStart
CustomEvent.detail 타입: void. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: chartAnimationStart. 대소문자를 구분합니다. payload는 CustomEvent<void>의 detail에서 읽습니다.
chart.addEventListener('chartAnimationStart', event => {
console.log(event.detail); // void
});chartAnimationEnd
CustomEvent.detail 타입: void. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: chartAnimationEnd. 대소문자를 구분합니다. payload는 CustomEvent<void>의 detail에서 읽습니다.
chart.addEventListener('chartAnimationEnd', event => {
console.log(event.detail); // void
});chartAnimationInterrupted
CustomEvent.detail 타입: void. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: chartAnimationInterrupted. 대소문자를 구분합니다. payload는 CustomEvent<void>의 detail에서 읽습니다.
chart.addEventListener('chartAnimationInterrupted', event => {
console.log(event.detail); // void
});zoomChange
Fired after every zoom change (drag / pan / wheel / pinch / keyboard / api / reset) with the new state.
이벤트 이름: zoomChange. 대소문자를 구분합니다. payload는 CustomEvent<CartesianZoomChangeEventDetail>의 detail에서 읽습니다.
chart.addEventListener('zoomChange', event => {
console.log(event.detail); // CartesianZoomChangeEventDetail
});Methods
getDataTable
Current normalized table, including the retained stream; independent of GPU availability.
getDataTable(): Promise<ChartDataTable>반환 타입: Promise<ChartDataTable>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- ChartDataTable
타입 정의
redraw
현재 데이터와 옵션으로 차트를 다시 그립니다. 반환되는 Promise가 완료되면 렌더링 결과를 확인할 수 있습니다.
redraw(): Promise<WaterfallRenderResult>반환 타입: Promise<WaterfallRenderResult>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getActiveTier
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getActiveTier(): Promise<WaterfallEngineTier>반환 타입: Promise<WaterfallEngineTier>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- WaterfallEngineTier
타입 정의
setData
Replace the bar set.
setData(data: WaterfallData): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
data | WaterfallData | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- WaterfallData
타입 정의
appendPoint
스트림에 값 하나를 추가합니다. 메서드 인수 타입과 스트리밍 기능의 라이선스 조건을 확인하세요.
appendPoint(datum: WaterfallDatumInput): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
datum | WaterfallDatumInput | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- WaterfallDatumInput
타입 정의
appendBatch
스트림에 여러 값을 한 번에 추가합니다. 메서드 인수 타입과 스트리밍 기능의 라이선스 조건을 확인하세요.
appendBatch(data: ReadonlyArray<WaterfallDatumInput>): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
data | ReadonlyArray<WaterfallDatumInput> | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- WaterfallDatumInput
타입 정의
shift
Drop the oldest streamed steps (the data bars are not the stream).
shift(count: number): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
count | number | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
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).
replace(data: ReadonlyArray<WaterfallDatumInput>): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
data | ReadonlyArray<WaterfallDatumInput> | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- WaterfallDatumInput
타입 정의
getStreamSource
The stream session's source (Chart Pro): like the stream methods it waits for a license still being confirmed.
getStreamSource(): Promise<WaterfallStreamSource | undefined>반환 타입: Promise<WaterfallStreamSource | undefined>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
setAnimation
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
setAnimation(options: { duration?: number; easing?: WaterfallEasing; enabled?: boolean; type?: WaterfallAnimationType }): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
options | { duration?: number; easing?: WaterfallEasing; enabled?: boolean; type?: WaterfallAnimationType } | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- WaterfallEasing
타입 정의
- WaterfallAnimationType
타입 정의
pauseAnimation
진행 중인 애니메이션을 일시 정지합니다.
pauseAnimation(): Promise<void>반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
resumeAnimation
일시 정지한 애니메이션을 다시 진행합니다.
resumeAnimation(): Promise<void>반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
replayAnimation
Replay the initial sweep from min → value(s). No-op when animation is off / reduced.
replayAnimation(): Promise<void>반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
hitTest
The bar under a host-local CSS point (the nearest slot, within half a pitch), or null.
hitTest(cssX: number, cssY: number): Promise<WaterfallPointEventDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
cssX | number | 필수 |
cssY | number | 필수 |
반환 타입: Promise<WaterfallPointEventDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getBar
The normalised bar at an index (null outside).
getBar(index: number): Promise<WaterfallBar | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
index | number | 필수 |
반환 타입: Promise<WaterfallBar | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- WaterfallBar
타입 정의
getBarByCategory
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getBarByCategory(category: string): Promise<WaterfallBar | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
category | string | 필수 |
반환 타입: Promise<WaterfallBar | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- WaterfallBar
타입 정의
getBarCount
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getBarCount(): Promise<number>반환 타입: Promise<number>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getBars
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getBars(): Promise<WaterfallBar[]>반환 타입: Promise<WaterfallBar[]>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- WaterfallBar
타입 정의
getCategories
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getCategories(): Promise<string[]>반환 타입: Promise<string[]>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getExtent
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getExtent(): Promise<WaterfallExtent>반환 타입: Promise<WaterfallExtent>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- WaterfallExtent
타입 정의
getDomain
The data domain the grid spans.
getDomain(): Promise<WaterfallDomain>반환 타입: Promise<WaterfallDomain>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- WaterfallDomain
타입 정의
getRunningTotal
The running total after the last bar (0 without bars).
getRunningTotal(): Promise<number>반환 타입: Promise<number>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
showTooltipAtIndex
Open the tooltip on a bar (the facade's showTooltipAtPoint routes here); null off the bars or with the tooltip off.
showTooltipAtIndex(index: number): Promise<CartesianTooltipEventDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
index | number | 필수 |
반환 타입: Promise<CartesianTooltipEventDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
hideTooltip
현재 표시 중인 툴팁을 닫습니다.
hideTooltip(): Promise<void>반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
focusBarAt
Move the keyboard focus ring to a bar (null off the bars); emits pointHover like the walk.
focusBarAt(index: number): Promise<WaterfallPointEventDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
index | number | 필수 |
반환 타입: Promise<WaterfallPointEventDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
zoomTo
Zoom to explicit windows: x / y as { min, max } or [min, max] (null clears that orientation; x is in slots — bar i sits at i); xAxis / yAxis name the axis by id or slot index (default: the primary axis).
zoomTo(request: CartesianZoomRequest): Promise<CartesianZoomChangeEventDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
request | CartesianZoomRequest | 필수 |
반환 타입: Promise<CartesianZoomChangeEventDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
zoomBy
Scale the current windows by factor (< 1 zooms in) around anchorFraction (0..1, default centre).
zoomBy(factor: number, anchorFraction?: number): Promise<CartesianZoomChangeEventDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
factor | number | 필수 |
anchorFraction | number | 선택 |
반환 타입: Promise<CartesianZoomChangeEventDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
panBy
Slide the zoomed windows by data units ({ x?, y? } — x in slots); a no-op at the full extent.
panBy(delta: { x?: number; y?: number }): Promise<CartesianZoomChangeEventDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
delta | { x?: number; y?: number } | 필수 |
반환 타입: Promise<CartesianZoomChangeEventDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
resetZoom
확대·이동한 범위를 초기 데이터 범위로 되돌립니다.
resetZoom(): Promise<CartesianZoomChangeEventDetail | null>반환 타입: Promise<CartesianZoomChangeEventDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getZoom
현재 확대 범위를 읽습니다. 반환 타입의 null 허용 여부와 축별 범위를 확인하세요.
getZoom(): Promise<CartesianZoomState | null>반환 타입: Promise<CartesianZoomState | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- CartesianZoomState
타입 정의
getZoomExtent
The full extent (and key) of the primary — or the named — master axes (x: the slot range −0.5 … n − 0.5).
getZoomExtent(request?: CartesianZoomExtentRequest): Promise<CartesianZoomExtentDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
request | CartesianZoomExtentRequest | 선택 |
반환 타입: Promise<CartesianZoomExtentDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
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.
getEngineStatus(): Promise<ChartEngineStatus>반환 타입: Promise<ChartEngineStatus>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- ChartEngineStatus
타입 정의