sy-network-graph

Network Graph

개체와 연결 관계를 네트워크로 탐색합니다.

sy-network-graph

의존성·협업·서비스 연결 구조를 살펴보세요.

화면상의 거리는 레이아웃 결과입니다. 별도 정의 없이 실제 거리나 관계 강도로 해석하지 마세요.

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

입력데이터 설명
datanodes와 source·target을 가진 links입니다.
layoutcircular·force·hierarchical 배치를 선택합니다.

전체 적용 예제

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-network-graph.js';
  define0();

  // Pro: 앱 시작 시 발급받은 인증서로 registerLicense를 완료하세요.
  // 홈페이지 미리보기의 인증서는 고객 앱에서 사용하지 않습니다.
  const specs = [
    {
      "id": "example-chart",
      "tag": "sy-network-graph",
      "props": {
        "data": {
          "links": [
            {
              "source": "서울",
              "target": "부산",
              "value": 24
            },
            {
              "source": "부산",
              "target": "대구",
              "value": 18
            },
            {
              "source": "대구",
              "target": "서울",
              "value": 30
            },
            {
              "source": "서울",
              "target": "제주",
              "value": 12
            },
            {
              "source": "제주",
              "target": "부산",
              "value": 9
            }
          ]
        },
        "layout": "circular",
        "nodeLabels": "show",
        "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', 'network-graph 예제 차트');
    return element;
  });
  container.replaceChildren(...elements);
  const chart = elements.at(-1);
  const onEvent = event => {
    console.log('nodeClick', event.detail);
  };
  chart.addEventListener('nodeClick', 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('nodeClick', onEvent);
    container.replaceChildren();
  }
</script>

Properties

data

nodes와 source·target을 가진 links입니다.

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

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

width

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

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

height

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

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

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

nodeRadius

The radius of each node in CSS pixels, including isolated nodes.

항목값
JavaScript 프로퍼티nodeRadius
HTML attributenode-radius
타입number
기본값NETWORK_GRAPH_DEFAULT_NODE_RADIUS

linkWidth

The connecting line's width in CSS pixels; link values do not change its width.

항목값
JavaScript 프로퍼티linkWidth
HTML attributelink-width
타입number
기본값NETWORK_GRAPH_DEFAULT_LINK_WIDTH

layout

circular·force·hierarchical 배치를 선택합니다.

항목값
JavaScript 프로퍼티layout
HTML attributelayout
타입NetworkGraphLayout
기본값'circular'
허용값circular, force, hierarchical

layoutIterations

Maximum force iterations, clamped to 0…10000; other layouts ignore this option. The solver also enforces its work budget.

항목값
JavaScript 프로퍼티layoutIterations
HTML attributelayout-iterations
타입number
기본값NETWORK_GRAPH_DEFAULT_LAYOUT_ITERATIONS

linkDistance

Desired force spring length in CSS pixels; other layouts ignore this option.

항목값
JavaScript 프로퍼티linkDistance
HTML attributelink-distance
타입number
기본값NETWORK_GRAPH_DEFAULT_LINK_DISTANCE

repulsion

Force repulsion strength; zero disables repulsion. Other layouts ignore this option.

항목값
JavaScript 프로퍼티repulsion
HTML attributerepulsion
타입number
기본값NETWORK_GRAPH_DEFAULT_REPULSION

bundling

none or force: bundle the connecting lines of distinct endpoint pairs toward compatible neighbours; positions, identities, lanes and hit rules stay.

항목값
JavaScript 프로퍼티bundling
HTML attributebundling
타입NetworkGraphBundling
기본값'none'
허용값none, force

bundleStrength

The bundling attraction, 0 … 1 (0 keeps straight centrelines); ignored while bundling is none.

항목값
JavaScript 프로퍼티bundleStrength
HTML attributebundle-strength
타입number
기본값NETWORK_GRAPH_BUNDLING_DEFAULT_STRENGTH

color

The nodes' fill: auto (the palette by index) or a CSS colour; a node's own color wins.

항목값
JavaScript 프로퍼티color
HTML attributecolor
타입string
기본값AUTO_COLOR

linkColor

The links' colour: source / target (the node's colour at that end) or a CSS colour; a link's own color wins.

항목값
JavaScript 프로퍼티linkColor
HTML attributelink-color
타입string
기본값'source'

linkOpacity

The connecting lines' opacity (0 … 1).

항목값
JavaScript 프로퍼티linkOpacity
HTML attributelink-opacity
타입number
기본값DEFAULT_LINK_OPACITY

linkCurvature

Connecting-line curvature (0 … 1). Self and parallel links keep distinct paths.

항목값
JavaScript 프로퍼티linkCurvature
HTML attributelink-curvature
타입number
기본값NETWORK_GRAPH_DEFAULT_CURVATURE

clustering

Community detection over the current graph, independent of layout: none or louvain; with color="auto" the palette follows the group instead of the node index.

항목값
JavaScript 프로퍼티clustering
HTML attributeclustering
타입NetworkGraphClustering
기본값'none'
허용값none, louvain

nodeLabels

the node labels beside the nodes: auto (hidden where they would overlap), show, hide; node-label-value appends the throughput.

항목값
JavaScript 프로퍼티nodeLabels
HTML attributenode-labels
타입NetworkGraphLabelMode
기본값'auto'
허용값auto, show, hide

nodeLabelValue

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

항목값
JavaScript 프로퍼티nodeLabelValue
HTML attributenode-label-value
타입boolean
기본값false

neighbourDim

with a hovered / focused node, the links touching neither of its ends fade to this alpha factor (0 … 1; 1 = no dim).

항목값
JavaScript 프로퍼티neighbourDim
HTML attributeneighbour-dim
타입number
기본값DEFAULT_NEIGHBOUR_DIM

activeColor

The hovered / focused node or link.

항목값
JavaScript 프로퍼티activeColor
HTML attributeactive-color
타입string
기본값DEFAULT_ACTIVE_COLOR

chartTitle

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

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

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

chartSubtitle

차트 내부 부제목입니다.

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

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

enableMouseTracking

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

항목값
JavaScript 프로퍼티enableMouseTracking
HTML attributeenable-mouse-tracking
타입boolean
기본값true

nodeDrag

Nodes can be dragged with a pointer (mouse, touch, pen) and nudged with Ctrl / ⌘ + arrows; a dragged node stays pinned where it was dropped.

항목값
JavaScript 프로퍼티nodeDrag
HTML attributenode-drag
타입boolean
기본값true

tooltip

The 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 attributetooltip-show
타입boolean
기본값true

tooltipFormat

JavaScript 프로퍼티로 전달합니다. 타입: (detail: NetworkGraphHitDetail) => string.

항목값
JavaScript 프로퍼티tooltipFormat
HTML attribute객체·배열·콜백은 JavaScript 프로퍼티로 전달
타입(detail: NetworkGraphHitDetail) => string
기본값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
타입NetworkGraphEasing
기본값'ease-out'
허용값linear, ease-out, ease-in, ease-in-out

animationType

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

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

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

streamSource

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

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

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

streamMax

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

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

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

streamWindow

The newest N streamed links the chart renders (the whole buffer when unset).

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

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

zoom

Zoom: 'x' | 'y' | 'xy' | true (x) enable the drag rectangle, the pan, the wheel, the pinch and the keyboard over the diagram's unit extents (x 0 → 1 left → right, y 0 → 1 bottom → top — the hidden frame's extents); an object refines mode / drag / keyboard / minRangePx / resetButton / pan / wheel / pinch / inside. Off by default. 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는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.

engine

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

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

unavailable

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

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

Events

rendered

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

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

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

nodeClick

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

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

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

nodeHover

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

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

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

linkClick

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

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

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

linkHover

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

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

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

selectionChanged

the selection (the pinned highlight) changed: a node or a link (never both) or nothing, and what changed it.

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

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

nodeDragStart

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

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

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

nodeDragMove

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

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

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

nodeDragEnd

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

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

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

pointContextMenu

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

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

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

appended

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

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

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

windowSlid

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

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

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

tooltipShow

The shared tooltip events (the controller emits them).

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

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

tooltipHide

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

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

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

tooltipAction

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

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

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

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
});

zoomChange

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

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

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

Methods

redraw

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

typescript
redraw(): Promise<NetworkGraphRenderResult>

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

getActiveTier

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

typescript
getActiveTier(): Promise<NetworkGraphEngineTier>

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

getUnavailableReason

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

typescript
getUnavailableReason(): Promise<string | undefined>

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

setData

Replace the bar set.

typescript
setData(data: NetworkGraphData): Promise<void>
인수타입필수 여부
dataNetworkGraphData필수

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

appendPoint

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

typescript
appendPoint(link: NetworkGraphLinkInput): Promise<void>
인수타입필수 여부
linkNetworkGraphLinkInput필수

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

appendBatch

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

typescript
appendBatch(links: ReadonlyArray<NetworkGraphLinkInput>): Promise<void>
인수타입필수 여부
linksReadonlyArray<NetworkGraphLinkInput>필수

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

shift

Drop the oldest streamed links (the data links 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(links: ReadonlyArray<NetworkGraphLinkInput>): Promise<void>
인수타입필수 여부
linksReadonlyArray<NetworkGraphLinkInput>필수

반환 타입: 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<NetworkGraphStreamSource | undefined>

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

getEngineStatus

Requested vs effective engine and why (CHART-ADD-08), with the chart.type.network-graph license state.

typescript
getEngineStatus(): Promise<ChartEngineStatus>

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

setAnimation

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

typescript
setAnimation(options: { duration?: number; easing?: NetworkGraphEasing; enabled?: boolean; type?: NetworkGraphAnimationType }): Promise<void>
인수타입필수 여부
options{ duration?: number; easing?: NetworkGraphEasing; enabled?: boolean; type?: NetworkGraphAnimationType }필수

반환 타입: 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 min → value(s). No-op when animation is off / reduced.

typescript
replayAnimation(): Promise<void>

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

hitTest

The node or link under a host-local CSS point (a node first, else the topmost link), or null (always without a valid license).

typescript
hitTest(cssX: number, cssY: number): Promise<NetworkGraphHitDetail | null>
인수타입필수 여부
cssXnumber필수
cssYnumber필수

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

getNode

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

typescript
getNode(index: number): Promise<NetworkGraphNode | null>
인수타입필수 여부
indexnumber필수

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

getNodeById

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

typescript
getNodeById(id: string): Promise<NetworkGraphNode | null>
인수타입필수 여부
idstring필수

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

getNodes

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

typescript
getNodes(): Promise<NetworkGraphNode[]>

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

getNodeCount

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

typescript
getNodeCount(): Promise<number>

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

getLinkCount

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

typescript
getLinkCount(): Promise<number>

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

getExtent

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

typescript
getExtent(): Promise<NetworkGraphExtent>

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

pinNode

Holds a node (by id) at a plot-local, unzoomed position, as a finished drag does: the paths re-route and an update morph moves it there. Returns the applied (clamped) position, or null for an unknown id.

typescript
pinNode(id: string, x: number, y: number): Promise<NetworkGraphPinnedNode | null>
인수타입필수 여부
idstring필수
xnumber필수
ynumber필수

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

unpinNode

Releases a pinned node back to its layout position (with an update morph); false when it was not pinned.

typescript
unpinNode(id: string): Promise<boolean>
인수타입필수 여부
idstring필수

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

clearPinnedNodes

Network Graph — release every pinned node; the count released.

typescript
clearPinnedNodes(): Promise<number>

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

getPinnedNodes

The pinned nodes of the current graph in id order, at their applied (clamped) positions.

typescript
getPinnedNodes(): Promise<NetworkGraphPinnedNode[]>

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

getLayoutStats

Settled node/link geometry, relationship totals and target layout diagnostics. A target's statistics do not describe animation progress.

typescript
getLayoutStats(): Promise<{ nodes: number; links: number; total: number; dropped: number; nodeRadius: number; linkWidth: number; layout: NetworkGraphLayout; curvature: number; force?: NetworkGraphForceStats; hierarchical?: NetworkGraphHierarchicalStats; bundling?: NetworkGraphBundlingStats; pinned?: number }>

반환 타입: Promise<{ nodes: number; links: number; total: number; dropped: number; nodeRadius: number; linkWidth: number; layout: NetworkGraphLayout; curvature: number; force?: NetworkGraphForceStats; hierarchical?: NetworkGraphHierarchicalStats; bundling?: NetworkGraphBundlingStats; pinned?: number }>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.

getClusters

The current graph's communities while clustering="louvain" (deep copies; null when none). Layout, zoom and animation do not change them.

typescript
getClusters(): Promise<NetworkGraphClusteringResult | null>

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

getLabels

the placed node labels in HOST-local CSS px as shown (the plot offset added; under a zoom the labels of the nodes outside the window are left out), shown or hidden with the reason.

typescript
getLabels(): Promise<NetworkGraphNodeLabel[]>

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

getLayout

Host-local geometry as shown. Scale fields preserve ellipses under non-uniform viewport zoom.

typescript
getLayout(): Promise<NetworkGraphLayoutResult>

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

showTooltipAtIndex

Open a tooltip by point index: all nodes first, then links.

typescript
showTooltipAtIndex(index: number): Promise<CartesianTooltipEventDetail | null>
인수타입필수 여부
indexnumber필수

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

hideTooltip

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

typescript
hideTooltip(): Promise<void>

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

focusNodeAt

Move the keyboard focus ring to a node (null off the nodes); emits nodeHover like the walk.

typescript
focusNodeAt(index: number): Promise<NetworkGraphNodeEventDetail | null>
인수타입필수 여부
indexnumber필수

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

selectNodeAt

Select (pin) a node: its neighbourhood stays highlighted after the pointer leaves; a negative or unknown index releases the selection. Emits selectionChanged when it changes.

typescript
selectNodeAt(index: number): Promise<NetworkGraphNodeEventDetail | null>
인수타입필수 여부
indexnumber필수

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

selectLinkAt

Select (pin) a link: its link keeps the accent after the pointer leaves; a negative or unknown index releases the selection.

typescript
selectLinkAt(index: number): Promise<NetworkGraphLinkEventDetail | null>
인수타입필수 여부
indexnumber필수

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

clearSelection

Release the selection (emits selectionChanged when there was one).

typescript
clearSelection(): Promise<void>

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

getSelection

The selection: the selected node's / link's detail (null = none); its anchors are Pro-derived, refused without a valid license.

typescript
getSelection(): Promise<NetworkGraphSelection>

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

zoomTo

Zoom to explicit windows over the unit extents: x / y as { min, max } or [min, max] (null clears that orientation).

typescript
zoomTo(request: CartesianZoomRequest): Promise<CartesianZoomChangeEventDetail | null>
인수타입필수 여부
requestCartesianZoomRequest필수

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

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>
인수타입필수 여부
factornumber필수
anchorFractionnumber선택

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

panBy

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

typescript
panBy(delta: { x?: number; y?: number }): Promise<CartesianZoomChangeEventDetail | null>
인수타입필수 여부
delta{ x?: number; y?: number }필수

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

resetZoom

확대·이동한 범위를 초기 데이터 범위로 되돌립니다.

typescript
resetZoom(): Promise<CartesianZoomChangeEventDetail | null>

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

getZoom

현재 확대 범위를 읽습니다. 반환 타입의 null 허용 여부와 축별 범위를 확인하세요.

typescript
getZoom(): Promise<CartesianZoomState | null>

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

getZoomExtent

The full extent (0 … 1) and key of the diagram's orientations (null before the first layout).

typescript
getZoomExtent(request?: CartesianZoomExtentRequest): Promise<CartesianZoomExtentDetail | null>
인수타입필수 여부
requestCartesianZoomExtentRequest선택

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