sy-pie-chart

Pie

하나의 전체를 구성하는 비율을 보여줍니다.

sy-pie-chart

합계의 의미가 명확하고 항목 수가 적은 구성비에 사용하세요.

음수나 서로 중복되는 항목에는 적합하지 않습니다. 비슷한 값의 정확한 비교에는 막대 차트를 사용하세요.

기본 차트 등급: Community. 추가 렌더러·커스텀 브랜딩 등 기능의 권한은 별도입니다.

입력데이터 설명
values{ name, value, color? } 배열. 양의 value가 각도를 결정합니다.
innerSize도넛의 내부 반지름 비율입니다.
labelsContent이름·값·비율 중 표시할 내용을 고릅니다.

전체 적용 예제

html
<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
기본값[]

width

차트의 너비를 px 단위로 지정합니다. 컨테이너 너비가 변하는 앱에서는 ResizeObserver에서 width를 갱신하세요.

항목값
JavaScript 프로퍼티width
HTML attributewidth
타입number
기본값480

height

차트의 높이를 px 단위로 지정합니다. 축, 제목과 범례가 차지하는 공간을 함께 고려하세요.

항목값
JavaScript 프로퍼티height
HTML attributeheight
타입number
기본값360

brandPosition

로고를 고정할 코너입니다. Community·Pro 모두 네 코너 중 하나를 선택할 수 있으며 화면과 이미지 내보내기에 같은 위치를 사용합니다.

항목값
JavaScript 프로퍼티brandPosition
HTML attributebrand-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 attributepalette
타입PieChartPaletteName
기본값'tableau10'
허용값tableau10, tableau20, observable10, paired12, set3_12

colors

JavaScript 프로퍼티로 전달합니다. 타입: ReadonlyArray<string>.

항목값
JavaScript 프로퍼티colors
HTML attribute객체·배열·콜백은 JavaScript 프로퍼티로 전달
타입ReadonlyArray<string>
기본값undefined

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

borderColor

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.

항목값
JavaScript 프로퍼티borderColor
HTML attributeborder-color
타입string
기본값'#ffffff'

borderWidth

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티borderWidth
HTML attributeborder-width
타입number
기본값1

slicedOffset

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티slicedOffset
HTML attributesliced-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 attributemin-size
타입number
기본값80

thickness

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티thickness
HTML attributethickness
타입number
기본값undefined

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

startAngle

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티startAngle
HTML attributestart-angle
타입number
기본값0

endAngle

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티endAngle
HTML attributeend-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 attributevariable-radius
타입boolean
기본값false

sizeBy

'area' (default) scales slice AREA linearly with z (radius ∝ √z̄); 'radius' scales the radius linearly.

항목값
JavaScript 프로퍼티sizeBy
HTML attributesize-by
타입PieChartSizeBy
기본값'area'
허용값area, radius

zMin

Lower z-domain bound. Defaults to the data minimum; smaller z clamp to the minimum radius.

항목값
JavaScript 프로퍼티zMin
HTML attributez-min
타입number
기본값undefined

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

zMax

Upper z-domain bound. Defaults to the data maximum; larger z clamp to the maximum radius.

항목값
JavaScript 프로퍼티zMax
HTML attributez-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 attributecenter-text
타입string
기본값undefined

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

centerSubtext

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.

항목값
JavaScript 프로퍼티centerSubtext
HTML attributecenter-subtext
타입string
기본값undefined

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

chartTitle

차트 내부 제목입니다. 데이터의 단위와 의미를 함께 설명하세요.

항목값
JavaScript 프로퍼티chartTitle
HTML attributechart-title
타입string
기본값undefined

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

chartSubtitle

차트 내부 부제목입니다.

항목값
JavaScript 프로퍼티chartSubtitle
HTML attributechart-subtitle
타입string
기본값undefined

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

legend

시리즈 또는 항목의 범례 표시 여부입니다.

항목값
JavaScript 프로퍼티legend
HTML attributelegend
타입boolean
기본값false

legendPosition

범례를 배치할 위치입니다.

항목값
JavaScript 프로퍼티legendPosition
HTML attributelegend-position
타입PieChartLegendPosition
기본값'bottom'
허용값top, bottom, left, right

legendItems

JavaScript 프로퍼티로 전달합니다. 타입: LegendItem[].

항목값
JavaScript 프로퍼티legendItems
HTML attribute객체·배열·콜백은 JavaScript 프로퍼티로 전달
타입LegendItem[]
기본값undefined

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

labelsMode

허용값: none, auto, inside, outside. 기본값: 'none'.

항목값
JavaScript 프로퍼티labelsMode
HTML attributelabels-mode
타입PieChartLabelMode
기본값'none'
허용값none, auto, inside, outside

labelsContent

이름·값·비율 중 표시할 내용을 고릅니다.

항목값
JavaScript 프로퍼티labelsContent
HTML attribute객체·배열·콜백은 JavaScript 프로퍼티로 전달
타입PieChartLabelContent
기본값'name-percent'
타입에 포함된 리터럴percent, value, name, name-percent, name-value

labelsDistance

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티labelsDistance
HTML attributelabels-distance
타입number
기본값24

labelsFontSize

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티labelsFontSize
HTML attributelabels-font-size
타입number
기본값12

labelsFontWeight

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티labelsFontWeight
HTML attributelabels-font-weight
타입number
기본값500

labelsColor

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.

항목값
JavaScript 프로퍼티labelsColor
HTML attributelabels-color
타입string
기본값'#1f2937'

labelsMinSweep

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티labelsMinSweep
HTML attributelabels-min-sweep
타입number
기본값0.02

labelsConnector

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.

항목값
JavaScript 프로퍼티labelsConnector
HTML attributelabels-connector
타입boolean
기본값true

labelsConnectorColor

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: string.

항목값
JavaScript 프로퍼티labelsConnectorColor
HTML attributelabels-connector-color
타입string
기본값'#9ca3af'

labelsConnectorWidth

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티labelsConnectorWidth
HTML attributelabels-connector-width
타입number
기본값1

labelsConnectorPadding

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티labelsConnectorPadding
HTML attributelabels-connector-padding
타입number
기본값5

labelsConnectorShape

허용값: straight, crooked. 기본값: 'crooked'.

항목값
JavaScript 프로퍼티labelsConnectorShape
HTML attributelabels-connector-shape
타입'crooked' | 'straight'
기본값'crooked'
허용값straight, crooked

labelsAllowOverlap

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.

항목값
JavaScript 프로퍼티labelsAllowOverlap
HTML attributelabels-allow-overlap
타입boolean
기본값false

tooltipShow

내장 툴팁 표시 여부입니다.

항목값
JavaScript 프로퍼티tooltipShow
HTML attributetooltip-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 attributeenable-mouse-tracking
타입boolean
기본값true

stickyTracking

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.

항목값
JavaScript 프로퍼티stickyTracking
HTML attributesticky-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는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

allowSelect

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.

항목값
JavaScript 프로퍼티allowSelect
HTML attributeallow-select
타입boolean
기본값true

inactiveOtherSlices

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.

항목값
JavaScript 프로퍼티inactiveOtherSlices
HTML attributeinactive-other-slices
타입boolean
기본값false

inactiveSliceOpacity

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티inactiveSliceOpacity
HTML attributeinactive-slice-opacity
타입number
기본값0.45

activeSliceIndex

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티activeSliceIndex
HTML attributeactive-slice-index
타입number
기본값undefined

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

engine

auto·standard·pro 렌더러 선택입니다. 엔진 선택은 차트 종류의 Pro 사용 권한과 별개입니다.

항목값
JavaScript 프로퍼티engine
HTML attributeengine
타입PieChartEngineMode
기본값'auto'
허용값auto, standard, pro

proThreshold

HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: number.

항목값
JavaScript 프로퍼티proThreshold
HTML attributepro-threshold
타입number
기본값50_000

unavailable

허용값: fallback, error, throw. 기본값: 'fallback'.

항목값
JavaScript 프로퍼티unavailable
HTML attributeunavailable
타입PieChartUnavailableBehaviour
기본값'fallback'
허용값fallback, error, throw

streamSource

실시간 데이터를 전달하는 스트림 소스입니다. 해당 타입의 계약을 확인하세요.

항목값
JavaScript 프로퍼티streamSource
HTML attribute객체·배열·콜백은 JavaScript 프로퍼티로 전달
타입PieChartStreamSource
기본값undefined

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

streamWindow

화면에 유지할 스트리밍 데이터 구간입니다.

항목값
JavaScript 프로퍼티streamWindow
HTML attributestream-window
타입number
기본값undefined

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

streamMax

보관할 스트리밍 데이터의 최대 수입니다.

항목값
JavaScript 프로퍼티streamMax
HTML attributestream-max
타입number
기본값undefined

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

animated

초기 표시와 데이터 변경의 애니메이션 사용 여부입니다.

항목값
JavaScript 프로퍼티animated
HTML attributeanimate
타입boolean
기본값false

animationDuration

애니메이션 지속 시간(ms).

항목값
JavaScript 프로퍼티animationDuration
HTML attributeanimation-duration
타입number
기본값600

animationEasing

허용값: linear, ease-out, ease-in, ease-in-out. 기본값: 'ease-out'.

항목값
JavaScript 프로퍼티animationEasing
HTML attributeanimation-easing
타입PieChartEasing
기본값'ease-out'
허용값linear, ease-out, ease-in, ease-in-out

animationType

허용값: initial, update. 기본값: undefined.

항목값
JavaScript 프로퍼티animationType
HTML attributeanimation-type
타입PieChartAnimationType
기본값undefined
허용값initial, update

undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

Events

rendered

차트 그리기가 완료되면 렌더링 결과를 detail로 전달합니다.

이벤트 이름: rendered. 대소문자를 구분합니다. payload는 CustomEvent<PieChartRenderResult & { tier: PieChartEngineTier }>의 detail에서 읽습니다.

javascript
chart.addEventListener('rendered', event => {
  console.log(event.detail); // PieChartRenderResult & { tier: PieChartEngineTier }
});

sliceClick

CustomEvent.detail 타입: PieChartSliceEventDetail. 이벤트 이름은 대소문자를 구분합니다.

이벤트 이름: sliceClick. 대소문자를 구분합니다. payload는 CustomEvent<PieChartSliceEventDetail>의 detail에서 읽습니다.

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

sliceHover

CustomEvent.detail 타입: PieChartSliceEventDetail | null. 이벤트 이름은 대소문자를 구분합니다.

이벤트 이름: sliceHover. 대소문자를 구분합니다. payload는 CustomEvent<PieChartSliceEventDetail | null>의 detail에서 읽습니다.

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

pointContextMenu

CustomEvent.detail 타입: ChartPointContextMenuEventDetail<PieChartSliceEventDetail>. 이벤트 이름은 대소문자를 구분합니다.

이벤트 이름: pointContextMenu. 대소문자를 구분합니다. payload는 CustomEvent<ChartPointContextMenuEventDetail<PieChartSliceEventDetail>>의 detail에서 읽습니다.

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

sliceSelected

CustomEvent.detail 타입: PieChartSelectedEventDetail. 이벤트 이름은 대소문자를 구분합니다.

이벤트 이름: sliceSelected. 대소문자를 구분합니다. payload는 CustomEvent<PieChartSelectedEventDetail>의 detail에서 읽습니다.

javascript
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에서 읽습니다.

javascript
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에서 읽습니다.

javascript
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에서 읽습니다.

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

windowSlid

CustomEvent.detail 타입: { dropped: number }. 이벤트 이름은 대소문자를 구분합니다.

이벤트 이름: windowSlid. 대소문자를 구분합니다. payload는 CustomEvent<{ dropped: number }>의 detail에서 읽습니다.

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

chartAnimationStart

CustomEvent.detail 타입: void. 이벤트 이름은 대소문자를 구분합니다.

이벤트 이름: chartAnimationStart. 대소문자를 구분합니다. payload는 CustomEvent<void>의 detail에서 읽습니다.

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

chartAnimationEnd

CustomEvent.detail 타입: void. 이벤트 이름은 대소문자를 구분합니다.

이벤트 이름: chartAnimationEnd. 대소문자를 구분합니다. payload는 CustomEvent<void>의 detail에서 읽습니다.

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

chartAnimationInterrupted

CustomEvent.detail 타입: void. 이벤트 이름은 대소문자를 구분합니다.

이벤트 이름: chartAnimationInterrupted. 대소문자를 구분합니다. payload는 CustomEvent<void>의 detail에서 읽습니다.

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

tooltipShow

내장 툴팁 표시 여부입니다.

이벤트 이름: tooltipShow. 대소문자를 구분합니다. payload는 CustomEvent<PieChartTooltipShowEventDetail>의 detail에서 읽습니다.

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

tooltipHide

CustomEvent.detail 타입: void. 이벤트 이름은 대소문자를 구분합니다.

이벤트 이름: tooltipHide. 대소문자를 구분합니다. payload는 CustomEvent<void>의 detail에서 읽습니다.

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

tooltipAction

CustomEvent.detail 타입: PieChartTooltipActionEventDetail. 이벤트 이름은 대소문자를 구분합니다.

이벤트 이름: tooltipAction. 대소문자를 구분합니다. payload는 CustomEvent<PieChartTooltipActionEventDetail>의 detail에서 읽습니다.

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

Methods

redraw

현재 데이터와 옵션으로 차트를 다시 그립니다. 반환되는 Promise가 완료되면 렌더링 결과를 확인할 수 있습니다.

typescript
redraw(): Promise<PieChartRenderResult>

반환 타입: Promise<PieChartRenderResult>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

getActiveTier

비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.

typescript
getActiveTier(): Promise<PieChartEngineTier>

반환 타입: Promise<PieChartEngineTier>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

addSlice

비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.

typescript
addSlice(datum: PieChartDatum, opts?: { insertAt?: number }): Promise<number>
인수타입필수 여부
datumPieChartDatum필수
opts{ insertAt?: number }선택

반환 타입: Promise<number>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

removeSlice

비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.

typescript
removeSlice(idOrIndex: string | number): Promise<boolean>
인수타입필수 여부
idOrIndexstring | number필수

반환 타입: Promise<boolean>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

updateSlice

비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.

typescript
updateSlice(idOrIndex: string | number, patch: Partial<Exclude<PieChartDatum, number>>): Promise<boolean>
인수타입필수 여부
idOrIndexstring | number필수
patchPartial<Exclude<PieChartDatum, number>>필수

반환 타입: Promise<boolean>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

setSliceData

비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.

typescript
setSliceData(idOrIndex: string | number, value: number): Promise<boolean>
인수타입필수 여부
idOrIndexstring | number필수
valuenumber필수

반환 타입: Promise<boolean>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

appendPoint

스트림에 값 하나를 추가합니다. 메서드 인수 타입과 스트리밍 기능의 라이선스 조건을 확인하세요.

typescript
appendPoint(datum: PieChartDatum): Promise<void>
인수타입필수 여부
datumPieChartDatum필수

반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

appendBatch

스트림에 여러 값을 한 번에 추가합니다. 메서드 인수 타입과 스트리밍 기능의 라이선스 조건을 확인하세요.

typescript
appendBatch(datums: ReadonlyArray<PieChartDatum>): Promise<void>
인수타입필수 여부
datumsReadonlyArray<PieChartDatum>필수

반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

shift

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

typescript
shift(count?: number): Promise<void>
인수타입필수 여부
countnumber선택

반환 타입: 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).

typescript
replace(datums: ReadonlyArray<PieChartDatum>): Promise<void>
인수타입필수 여부
datumsReadonlyArray<PieChartDatum>필수

반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

getStreamSource

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

typescript
getStreamSource(): Promise<PieChartStreamSource | undefined>

반환 타입: Promise<PieChartStreamSource | undefined>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

setAnimation

비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.

typescript
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로 기다리세요.

pauseAnimation

진행 중인 애니메이션을 일시 정지합니다.

typescript
pauseAnimation(): Promise<void>

반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

resumeAnimation

일시 정지한 애니메이션을 다시 진행합니다.

typescript
resumeAnimation(): Promise<void>

반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

replayAnimation

Replay the initial sweep-from-zero reveal. No-op when animation is off.

typescript
replayAnimation(): Promise<void>

반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

selectSlice

Pie-only — select a slice by id or index.

typescript
selectSlice(idOrIndex: string | number, selected?: boolean): Promise<boolean>
인수타입필수 여부
idOrIndexstring | number필수
selectedboolean선택

반환 타입: Promise<boolean>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

deselectSlice

Pie-only — clear selection on a slice.

typescript
deselectSlice(idOrIndex: string | number): Promise<boolean>
인수타입필수 여부
idOrIndexstring | number필수

반환 타입: Promise<boolean>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

getSelectedSlices

Pie-only — read the current selection set.

typescript
getSelectedSlices(): Promise<string[]>

반환 타입: Promise<string[]>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

hitTestSlice

Pie-only — hit-test slice at canvas-relative coordinates.

typescript
hitTestSlice(cssX: number, cssY: number): Promise<{ sliceIndex: number; sliceId: string } | null>
인수타입필수 여부
cssXnumber필수
cssYnumber필수

반환 타입: Promise<{ sliceIndex: number; sliceId: string } | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

showTooltipAtSlice

Pie-only — programmatic tooltip open.

typescript
showTooltipAtSlice(idOrIndex: string | number): Promise<PieChartSliceEventDetail | null>
인수타입필수 여부
idOrIndexstring | number필수

반환 타입: Promise<PieChartSliceEventDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

hideTooltip

현재 표시 중인 툴팁을 닫습니다.

typescript
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.

typescript
getEngineStatus(): Promise<ChartEngineStatus>

반환 타입: Promise<ChartEngineStatus>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.