sy-pie-chart
Pie
하나의 전체를 구성하는 비율을 보여줍니다.
sy-pie-chart
합계의 의미가 명확하고 항목 수가 적은 구성비에 사용하세요.
음수나 서로 중복되는 항목에는 적합하지 않습니다. 비슷한 값의 정확한 비교에는 막대 차트를 사용하세요.
기본 차트 등급: Community. 추가 렌더러·커스텀 브랜딩 등 기능의 권한은 별도입니다.
| 입력 | 데이터 설명 |
|---|---|
values | { name, value, color? } 배열. 양의 value가 각도를 결정합니다. |
innerSize | 도넛의 내부 반지름 비율입니다. |
labelsContent | 이름·값·비율 중 표시할 내용을 고릅니다. |
- Components에서 실행하기
옵션 변경과 프레임워크별 코드
- 공통 설치와 연결
전체 적용 예제
<div id="chart-container" style="width: 100%; min-width: 0;"></div>
<script type="module">
import { defineCustomElement as define0 } from '@syidax/advanced/components/sy-pie-chart.js';
define0();
const specs = [
{
"id": "example-chart",
"tag": "sy-pie-chart",
"props": {
"engine": "standard",
"values": [
{
"name": "제품 A",
"value": 42,
"color": "#8263d9"
},
{
"name": "제품 B",
"value": 28,
"color": "#239c91"
},
{
"name": "제품 C",
"value": 18,
"color": "#e99954"
},
{
"name": "기타",
"value": 12,
"color": "#d76c8f"
}
],
"legend": true,
"labelsContent": "name-percent",
"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', 'pie 예제 차트');
return element;
});
container.replaceChildren(...elements);
const chart = elements.at(-1);
const onEvent = event => {
console.log('sliceClick', event.detail);
};
chart.addEventListener('sliceClick', 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('sliceClick', onEvent);
container.replaceChildren();
}
</script>Properties
values
{ name, value, color? } 배열. 양의 value가 각도를 결정합니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | values |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | PieChartValues |
| 기본값 | [] |
- PieChartValues
타입 정의
width
차트의 너비를 px 단위로 지정합니다. 컨테이너 너비가 변하는 앱에서는 ResizeObserver에서 width를 갱신하세요.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | width |
| HTML attribute | width |
| 타입 | number |
| 기본값 | 480 |
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 |
palette
허용값: tableau10, tableau20, observable10, paired12, set3_12. 기본값: 'tableau10'.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | palette |
| HTML attribute | palette |
| 타입 | PieChartPaletteName |
| 기본값 | 'tableau10' |
| 허용값 | tableau10, tableau20, observable10, paired12, set3_12 |
- PieChartPaletteName
타입 정의
colors
JavaScript 프로퍼티로 전달합니다. 타입: ReadonlyArray<string>.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | colors |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | ReadonlyArray<string> |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
borderColor
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | borderColor |
| HTML attribute | border-color |
| 타입 | string |
| 기본값 | '#ffffff' |
borderWidth
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | borderWidth |
| HTML attribute | border-width |
| 타입 | number |
| 기본값 | 1 |
slicedOffset
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | slicedOffset |
| HTML attribute | sliced-offset |
| 타입 | number |
| 기본값 | 10 |
innerSize
도넛의 내부 반지름 비율입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | innerSize |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | number | string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
size
JavaScript 프로퍼티로 전달합니다. 타입: number | string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | size |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | number | string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
centerX
JavaScript 프로퍼티로 전달합니다. 타입: number | string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | centerX |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | number | string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
centerY
JavaScript 프로퍼티로 전달합니다. 타입: number | string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | centerY |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | number | string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
minSize
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | minSize |
| HTML attribute | min-size |
| 타입 | number |
| 기본값 | 80 |
thickness
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | thickness |
| HTML attribute | thickness |
| 타입 | number |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
startAngle
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | startAngle |
| HTML attribute | start-angle |
| 타입 | number |
| 기본값 | 0 |
endAngle
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | endAngle |
| HTML attribute | end-angle |
| 타입 | number |
| 기본값 | 360 |
variableRadius
Variable-radius mode (Highcharts variablepie). Each datum's z maps to the slice's outer radius between min-point-size and max-point-size while value keeps owning the angular sweep. Data without any finite z renders as a uniform pie even when this is on.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | variableRadius |
| HTML attribute | variable-radius |
| 타입 | boolean |
| 기본값 | false |
sizeBy
'area' (default) scales slice AREA linearly with z (radius ∝ √z̄); 'radius' scales the radius linearly.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | sizeBy |
| HTML attribute | size-by |
| 타입 | PieChartSizeBy |
| 기본값 | 'area' |
| 허용값 | area, radius |
- PieChartSizeBy
타입 정의
zMin
Lower z-domain bound. Defaults to the data minimum; smaller z clamp to the minimum radius.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | zMin |
| HTML attribute | z-min |
| 타입 | number |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
zMax
Upper z-domain bound. Defaults to the data maximum; larger z clamp to the maximum radius.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | zMax |
| HTML attribute | z-max |
| 타입 | number |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
minPointSize
Smallest slice outer DIAMETER — px number or '%' of the full outer diameter (Highcharts minPointSize).
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | minPointSize |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | number | string |
| 기본값 | '10%' |
maxPointSize
Largest slice outer DIAMETER — px number or '%' of the full outer diameter (Highcharts maxPointSize).
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | maxPointSize |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | number | string |
| 기본값 | '100%' |
centerText
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | centerText |
| HTML attribute | center-text |
| 타입 | string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
centerSubtext
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | centerSubtext |
| HTML attribute | center-subtext |
| 타입 | string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
chartTitle
차트 내부 제목입니다. 데이터의 단위와 의미를 함께 설명하세요.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | chartTitle |
| HTML attribute | chart-title |
| 타입 | string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
chartSubtitle
차트 내부 부제목입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | chartSubtitle |
| HTML attribute | chart-subtitle |
| 타입 | string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
legend
시리즈 또는 항목의 범례 표시 여부입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | legend |
| HTML attribute | legend |
| 타입 | boolean |
| 기본값 | false |
legendPosition
범례를 배치할 위치입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | legendPosition |
| HTML attribute | legend-position |
| 타입 | PieChartLegendPosition |
| 기본값 | 'bottom' |
| 허용값 | top, bottom, left, right |
legendItems
JavaScript 프로퍼티로 전달합니다. 타입: LegendItem[].
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | legendItems |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | LegendItem[] |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
- LegendItem
타입 정의
labelsMode
허용값: none, auto, inside, outside. 기본값: 'none'.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsMode |
| HTML attribute | labels-mode |
| 타입 | PieChartLabelMode |
| 기본값 | 'none' |
| 허용값 | none, auto, inside, outside |
- PieChartLabelMode
타입 정의
labelsContent
이름·값·비율 중 표시할 내용을 고릅니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsContent |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | PieChartLabelContent |
| 기본값 | 'name-percent' |
| 타입에 포함된 리터럴 | percent, value, name, name-percent, name-value |
- PieChartLabelContent
타입 정의
labelsDistance
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsDistance |
| HTML attribute | labels-distance |
| 타입 | number |
| 기본값 | 24 |
labelsFontSize
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsFontSize |
| HTML attribute | labels-font-size |
| 타입 | number |
| 기본값 | 12 |
labelsFontWeight
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsFontWeight |
| HTML attribute | labels-font-weight |
| 타입 | number |
| 기본값 | 500 |
labelsColor
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsColor |
| HTML attribute | labels-color |
| 타입 | string |
| 기본값 | '#1f2937' |
labelsMinSweep
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsMinSweep |
| HTML attribute | labels-min-sweep |
| 타입 | number |
| 기본값 | 0.02 |
labelsConnector
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsConnector |
| HTML attribute | labels-connector |
| 타입 | boolean |
| 기본값 | true |
labelsConnectorColor
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsConnectorColor |
| HTML attribute | labels-connector-color |
| 타입 | string |
| 기본값 | '#9ca3af' |
labelsConnectorWidth
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsConnectorWidth |
| HTML attribute | labels-connector-width |
| 타입 | number |
| 기본값 | 1 |
labelsConnectorPadding
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsConnectorPadding |
| HTML attribute | labels-connector-padding |
| 타입 | number |
| 기본값 | 5 |
labelsConnectorShape
허용값: straight, crooked. 기본값: 'crooked'.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsConnectorShape |
| HTML attribute | labels-connector-shape |
| 타입 | 'crooked' | 'straight' |
| 기본값 | 'crooked' |
| 허용값 | straight, crooked |
labelsAllowOverlap
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | labelsAllowOverlap |
| HTML attribute | labels-allow-overlap |
| 타입 | boolean |
| 기본값 | false |
tooltipShow
내장 툴팁 표시 여부입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | tooltipShow |
| HTML attribute | tooltip-show |
| 타입 | boolean |
| 기본값 | true |
tooltipFormat
JavaScript 프로퍼티로 전달합니다. 타입: (slice: PieChartResolvedSlice) => string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | tooltipFormat |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | (slice: PieChartResolvedSlice) => string |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
enableMouseTracking
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | enableMouseTracking |
| HTML attribute | enable-mouse-tracking |
| 타입 | boolean |
| 기본값 | true |
stickyTracking
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | stickyTracking |
| HTML attribute | sticky-tracking |
| 타입 | boolean |
| 기본값 | false |
tooltip
Rich tooltip configuration object — the slice-flavoured counterpart to the cartesian .tooltip API. Enables trigger (hover/click/hover-click), openMode (single/multiple pinned), connector, draggable, interactive action buttons, custom format/html/style/className/side and fixed sizing. When set it takes precedence over the flat tooltip-show / tooltipFormat props (which stay for back-compat). Property-only — assign the object, not an attribute.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | tooltip |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | PieChartTooltipInput |
| 기본값 | undefined |
| 타입에 포함된 리터럴 | auto, off |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
- PieChartTooltipInput
타입 정의
allowSelect
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | allowSelect |
| HTML attribute | allow-select |
| 타입 | boolean |
| 기본값 | true |
inactiveOtherSlices
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | inactiveOtherSlices |
| HTML attribute | inactive-other-slices |
| 타입 | boolean |
| 기본값 | false |
inactiveSliceOpacity
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | inactiveSliceOpacity |
| HTML attribute | inactive-slice-opacity |
| 타입 | number |
| 기본값 | 0.45 |
activeSliceIndex
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | activeSliceIndex |
| HTML attribute | active-slice-index |
| 타입 | number |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
engine
auto·standard·pro 렌더러 선택입니다. 엔진 선택은 차트 종류의 Pro 사용 권한과 별개입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | engine |
| HTML attribute | engine |
| 타입 | PieChartEngineMode |
| 기본값 | 'auto' |
| 허용값 | auto, standard, pro |
- PieChartEngineMode
타입 정의
proThreshold
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | proThreshold |
| HTML attribute | pro-threshold |
| 타입 | number |
| 기본값 | 50_000 |
streamSource
실시간 데이터를 전달하는 스트림 소스입니다. 해당 타입의 계약을 확인하세요.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | streamSource |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | PieChartStreamSource |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
- PieChartStreamSource
타입 정의
streamWindow
화면에 유지할 스트리밍 데이터 구간입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | streamWindow |
| HTML attribute | stream-window |
| 타입 | number |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
streamMax
보관할 스트리밍 데이터의 최대 수입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | streamMax |
| HTML attribute | stream-max |
| 타입 | number |
| 기본값 | 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 |
| 타입 | PieChartEasing |
| 기본값 | 'ease-out' |
| 허용값 | linear, ease-out, ease-in, ease-in-out |
- PieChartEasing
타입 정의
animationType
허용값: initial, update. 기본값: undefined.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | animationType |
| HTML attribute | animation-type |
| 타입 | PieChartAnimationType |
| 기본값 | undefined |
| 허용값 | initial, update |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
Events
rendered
차트 그리기가 완료되면 렌더링 결과를 detail로 전달합니다.
이벤트 이름: rendered. 대소문자를 구분합니다. payload는 CustomEvent<PieChartRenderResult & { tier: PieChartEngineTier }>의 detail에서 읽습니다.
chart.addEventListener('rendered', event => {
console.log(event.detail); // PieChartRenderResult & { tier: PieChartEngineTier }
});- PieChartRenderResult
타입 정의
- PieChartEngineTier
타입 정의
sliceClick
CustomEvent.detail 타입: PieChartSliceEventDetail. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: sliceClick. 대소문자를 구분합니다. payload는 CustomEvent<PieChartSliceEventDetail>의 detail에서 읽습니다.
chart.addEventListener('sliceClick', event => {
console.log(event.detail); // PieChartSliceEventDetail
});sliceHover
CustomEvent.detail 타입: PieChartSliceEventDetail | null. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: sliceHover. 대소문자를 구분합니다. payload는 CustomEvent<PieChartSliceEventDetail | null>의 detail에서 읽습니다.
chart.addEventListener('sliceHover', event => {
console.log(event.detail); // PieChartSliceEventDetail | null
});pointContextMenu
CustomEvent.detail 타입: ChartPointContextMenuEventDetail<PieChartSliceEventDetail>. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: pointContextMenu. 대소문자를 구분합니다. payload는 CustomEvent<ChartPointContextMenuEventDetail<PieChartSliceEventDetail>>의 detail에서 읽습니다.
chart.addEventListener('pointContextMenu', event => {
console.log(event.detail); // ChartPointContextMenuEventDetail<PieChartSliceEventDetail>
});sliceSelected
CustomEvent.detail 타입: PieChartSelectedEventDetail. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: sliceSelected. 대소문자를 구분합니다. payload는 CustomEvent<PieChartSelectedEventDetail>의 detail에서 읽습니다.
chart.addEventListener('sliceSelected', event => {
console.log(event.detail); // PieChartSelectedEventDetail
});legendItemClick
CustomEvent.detail 타입: { index: number; sliceId: string; label: string; disabled: boolean }. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: legendItemClick. 대소문자를 구분합니다. payload는 CustomEvent<{ index: number; sliceId: string; label: string; disabled: boolean }>의 detail에서 읽습니다.
chart.addEventListener('legendItemClick', event => {
console.log(event.detail); // { index: number; sliceId: string; label: string; disabled: boolean }
});sliceToggled
CustomEvent.detail 타입: { index: number; sliceId: string; disabled: boolean }. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: sliceToggled. 대소문자를 구분합니다. payload는 CustomEvent<{ index: number; sliceId: string; disabled: boolean }>의 detail에서 읽습니다.
chart.addEventListener('sliceToggled', event => {
console.log(event.detail); // { index: number; sliceId: string; disabled: boolean }
});appended
CustomEvent.detail 타입: { count: number }. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: appended. 대소문자를 구분합니다. payload는 CustomEvent<{ count: number }>의 detail에서 읽습니다.
chart.addEventListener('appended', event => {
console.log(event.detail); // { count: number }
});windowSlid
CustomEvent.detail 타입: { dropped: number }. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: windowSlid. 대소문자를 구분합니다. payload는 CustomEvent<{ dropped: number }>의 detail에서 읽습니다.
chart.addEventListener('windowSlid', event => {
console.log(event.detail); // { dropped: number }
});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
});tooltipShow
내장 툴팁 표시 여부입니다.
이벤트 이름: tooltipShow. 대소문자를 구분합니다. payload는 CustomEvent<PieChartTooltipShowEventDetail>의 detail에서 읽습니다.
chart.addEventListener('tooltipShow', event => {
console.log(event.detail); // PieChartTooltipShowEventDetail
});tooltipHide
CustomEvent.detail 타입: void. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: tooltipHide. 대소문자를 구분합니다. payload는 CustomEvent<void>의 detail에서 읽습니다.
chart.addEventListener('tooltipHide', event => {
console.log(event.detail); // void
});tooltipAction
CustomEvent.detail 타입: PieChartTooltipActionEventDetail. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: tooltipAction. 대소문자를 구분합니다. payload는 CustomEvent<PieChartTooltipActionEventDetail>의 detail에서 읽습니다.
chart.addEventListener('tooltipAction', event => {
console.log(event.detail); // PieChartTooltipActionEventDetail
});Methods
redraw
현재 데이터와 옵션으로 차트를 다시 그립니다. 반환되는 Promise가 완료되면 렌더링 결과를 확인할 수 있습니다.
redraw(): Promise<PieChartRenderResult>반환 타입: Promise<PieChartRenderResult>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- PieChartRenderResult
타입 정의
getActiveTier
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getActiveTier(): Promise<PieChartEngineTier>반환 타입: Promise<PieChartEngineTier>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- PieChartEngineTier
타입 정의
addSlice
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
addSlice(datum: PieChartDatum, opts?: { insertAt?: number }): Promise<number>| 인수 | 타입 | 필수 여부 |
|---|---|---|
datum | PieChartDatum | 필수 |
opts | { insertAt?: number } | 선택 |
반환 타입: Promise<number>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- PieChartDatum
타입 정의
removeSlice
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
removeSlice(idOrIndex: string | number): Promise<boolean>| 인수 | 타입 | 필수 여부 |
|---|---|---|
idOrIndex | string | number | 필수 |
반환 타입: Promise<boolean>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
updateSlice
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
updateSlice(idOrIndex: string | number, patch: Partial<Exclude<PieChartDatum, number>>): Promise<boolean>| 인수 | 타입 | 필수 여부 |
|---|---|---|
idOrIndex | string | number | 필수 |
patch | Partial<Exclude<PieChartDatum, number>> | 필수 |
반환 타입: Promise<boolean>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- PieChartDatum
타입 정의
setSliceData
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
setSliceData(idOrIndex: string | number, value: number): Promise<boolean>| 인수 | 타입 | 필수 여부 |
|---|---|---|
idOrIndex | string | number | 필수 |
value | number | 필수 |
반환 타입: Promise<boolean>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
appendPoint
스트림에 값 하나를 추가합니다. 메서드 인수 타입과 스트리밍 기능의 라이선스 조건을 확인하세요.
appendPoint(datum: PieChartDatum): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
datum | PieChartDatum | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- PieChartDatum
타입 정의
appendBatch
스트림에 여러 값을 한 번에 추가합니다. 메서드 인수 타입과 스트리밍 기능의 라이선스 조건을 확인하세요.
appendBatch(datums: ReadonlyArray<PieChartDatum>): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
datums | ReadonlyArray<PieChartDatum> | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- PieChartDatum
타입 정의
shift
Drop the oldest streamed categories (the data boxes 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(datums: ReadonlyArray<PieChartDatum>): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
datums | ReadonlyArray<PieChartDatum> | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- PieChartDatum
타입 정의
getStreamSource
The stream session's source (Chart Pro): like the stream methods it waits for a license still being confirmed.
getStreamSource(): Promise<PieChartStreamSource | undefined>반환 타입: Promise<PieChartStreamSource | undefined>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- PieChartStreamSource
타입 정의
setAnimation
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
setAnimation(options: { duration?: number; easing?: PieChartEasing; enabled?: boolean; type?: PieChartAnimationType }): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
options | { duration?: number; easing?: PieChartEasing; enabled?: boolean; type?: PieChartAnimationType } | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- PieChartEasing
타입 정의
- PieChartAnimationType
타입 정의
pauseAnimation
진행 중인 애니메이션을 일시 정지합니다.
pauseAnimation(): Promise<void>반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
resumeAnimation
일시 정지한 애니메이션을 다시 진행합니다.
resumeAnimation(): Promise<void>반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
replayAnimation
Replay the initial sweep-from-zero reveal. No-op when animation is off.
replayAnimation(): Promise<void>반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
selectSlice
Pie-only — select a slice by id or index.
selectSlice(idOrIndex: string | number, selected?: boolean): Promise<boolean>| 인수 | 타입 | 필수 여부 |
|---|---|---|
idOrIndex | string | number | 필수 |
selected | boolean | 선택 |
반환 타입: Promise<boolean>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
deselectSlice
Pie-only — clear selection on a slice.
deselectSlice(idOrIndex: string | number): Promise<boolean>| 인수 | 타입 | 필수 여부 |
|---|---|---|
idOrIndex | string | number | 필수 |
반환 타입: Promise<boolean>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getSelectedSlices
Pie-only — read the current selection set.
getSelectedSlices(): Promise<string[]>반환 타입: Promise<string[]>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
hitTestSlice
Pie-only — hit-test slice at canvas-relative coordinates.
hitTestSlice(cssX: number, cssY: number): Promise<{ sliceIndex: number; sliceId: string } | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
cssX | number | 필수 |
cssY | number | 필수 |
반환 타입: Promise<{ sliceIndex: number; sliceId: string } | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
showTooltipAtSlice
Pie-only — programmatic tooltip open.
showTooltipAtSlice(idOrIndex: string | number): Promise<PieChartSliceEventDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
idOrIndex | string | number | 필수 |
반환 타입: Promise<PieChartSliceEventDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
hideTooltip
현재 표시 중인 툴팁을 닫습니다.
hideTooltip(): Promise<void>반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getEngineStatus
Requested engine vs what runs, and why (CHART-ADD-08): always Standard (this type has no WebGPU renderer); read without side effects, never consults the license.
getEngineStatus(): Promise<ChartEngineStatus>반환 타입: Promise<ChartEngineStatus>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- ChartEngineStatus
타입 정의