sy-network-graph
Network Graph
개체와 연결 관계를 네트워크로 탐색합니다.
sy-network-graph
의존성·협업·서비스 연결 구조를 살펴보세요.
화면상의 거리는 레이아웃 결과입니다. 별도 정의 없이 실제 거리나 관계 강도로 해석하지 마세요.
기본 차트 등급: Pro. 추가 렌더러·커스텀 브랜딩 등 기능의 권한은 별도입니다.
| 입력 | 데이터 설명 |
|---|---|
data | nodes와 source·target을 가진 links입니다. |
layout | circular·force·hierarchical 배치를 선택합니다. |
- 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-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는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
- NetworkGraphData
타입 정의
width
차트의 너비를 px 단위로 지정합니다. 컨테이너 너비가 변하는 앱에서는 ResizeObserver에서 width를 갱신하세요.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | width |
| HTML attribute | width |
| 타입 | number |
| 기본값 | 900 |
height
차트의 높이를 px 단위로 지정합니다. 축, 제목과 범례가 차지하는 공간을 함께 고려하세요.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | height |
| HTML attribute | height |
| 타입 | number |
| 기본값 | 400 |
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 |
nodeRadius
The radius of each node in CSS pixels, including isolated nodes.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | nodeRadius |
| HTML attribute | node-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 attribute | link-width |
| 타입 | number |
| 기본값 | NETWORK_GRAPH_DEFAULT_LINK_WIDTH |
layout
circular·force·hierarchical 배치를 선택합니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | layout |
| HTML attribute | layout |
| 타입 | NetworkGraphLayout |
| 기본값 | 'circular' |
| 허용값 | circular, force, hierarchical |
- NetworkGraphLayout
타입 정의
layoutIterations
Maximum force iterations, clamped to 0…10000; other layouts ignore this option. The solver also enforces its work budget.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | layoutIterations |
| HTML attribute | layout-iterations |
| 타입 | number |
| 기본값 | NETWORK_GRAPH_DEFAULT_LAYOUT_ITERATIONS |
linkDistance
Desired force spring length in CSS pixels; other layouts ignore this option.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | linkDistance |
| HTML attribute | link-distance |
| 타입 | number |
| 기본값 | NETWORK_GRAPH_DEFAULT_LINK_DISTANCE |
repulsion
Force repulsion strength; zero disables repulsion. Other layouts ignore this option.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | repulsion |
| HTML attribute | repulsion |
| 타입 | 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 attribute | bundling |
| 타입 | NetworkGraphBundling |
| 기본값 | 'none' |
| 허용값 | none, force |
- NetworkGraphBundling
타입 정의
bundleStrength
The bundling attraction, 0 … 1 (0 keeps straight centrelines); ignored while bundling is none.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | bundleStrength |
| HTML attribute | bundle-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 attribute | color |
| 타입 | 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 attribute | link-color |
| 타입 | string |
| 기본값 | 'source' |
linkOpacity
The connecting lines' opacity (0 … 1).
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | linkOpacity |
| HTML attribute | link-opacity |
| 타입 | number |
| 기본값 | DEFAULT_LINK_OPACITY |
linkCurvature
Connecting-line curvature (0 … 1). Self and parallel links keep distinct paths.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | linkCurvature |
| HTML attribute | link-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 attribute | clustering |
| 타입 | 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 attribute | node-labels |
| 타입 | NetworkGraphLabelMode |
| 기본값 | 'auto' |
| 허용값 | auto, show, hide |
nodeLabelValue
HTML attribute 또는 JavaScript 프로퍼티로 설정합니다. 타입: boolean.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | nodeLabelValue |
| HTML attribute | node-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 attribute | neighbour-dim |
| 타입 | number |
| 기본값 | DEFAULT_NEIGHBOUR_DIM |
activeColor
The hovered / focused node or link.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | activeColor |
| HTML attribute | active-color |
| 타입 | string |
| 기본값 | DEFAULT_ACTIVE_COLOR |
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 |
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 attribute | node-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 attribute | tooltip-show |
| 타입 | boolean |
| 기본값 | true |
tooltipFormat
JavaScript 프로퍼티로 전달합니다. 타입: (detail: NetworkGraphHitDetail) => string.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | tooltipFormat |
| HTML attribute | 객체·배열·콜백은 JavaScript 프로퍼티로 전달 |
| 타입 | (detail: NetworkGraphHitDetail) => 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 |
| 타입 | NetworkGraphEasing |
| 기본값 | 'ease-out' |
| 허용값 | linear, ease-out, ease-in, ease-in-out |
- NetworkGraphEasing
타입 정의
animationType
허용값: initial, update. 기본값: undefined.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | animationType |
| HTML attribute | animation-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 attribute | stream-max |
| 타입 | number |
| 기본값 | undefined |
undefined는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
streamWindow
The newest N streamed links the chart renders (the whole buffer when unset).
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | streamWindow |
| HTML attribute | stream-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는 이 속성을 명시하지 않은 상태입니다. 실제 표시 값은 차트 종류와 다른 설정에 따라 결정될 수 있습니다.
- CartesianZoomInput
타입 정의
engine
auto·standard·pro 렌더러 선택입니다. 엔진 선택은 차트 종류의 Pro 사용 권한과 별개입니다.
| 항목 | 값 |
|---|---|
| JavaScript 프로퍼티 | engine |
| HTML attribute | engine |
| 타입 | NetworkGraphEngineMode |
| 기본값 | 'auto' |
| 허용값 | auto, standard, pro |
Events
rendered
차트 그리기가 완료되면 렌더링 결과를 detail로 전달합니다.
이벤트 이름: rendered. 대소문자를 구분합니다. payload는 CustomEvent<NetworkGraphRenderResult & { tier: NetworkGraphEngineTier }>의 detail에서 읽습니다.
chart.addEventListener('rendered', event => {
console.log(event.detail); // NetworkGraphRenderResult & { tier: NetworkGraphEngineTier }
});nodeClick
CustomEvent.detail 타입: NetworkGraphNodeEventDetail. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: nodeClick. 대소문자를 구분합니다. payload는 CustomEvent<NetworkGraphNodeEventDetail>의 detail에서 읽습니다.
chart.addEventListener('nodeClick', event => {
console.log(event.detail); // NetworkGraphNodeEventDetail
});nodeHover
CustomEvent.detail 타입: NetworkGraphNodeEventDetail | null. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: nodeHover. 대소문자를 구분합니다. payload는 CustomEvent<NetworkGraphNodeEventDetail | null>의 detail에서 읽습니다.
chart.addEventListener('nodeHover', event => {
console.log(event.detail); // NetworkGraphNodeEventDetail | null
});linkClick
CustomEvent.detail 타입: NetworkGraphLinkEventDetail. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: linkClick. 대소문자를 구분합니다. payload는 CustomEvent<NetworkGraphLinkEventDetail>의 detail에서 읽습니다.
chart.addEventListener('linkClick', event => {
console.log(event.detail); // NetworkGraphLinkEventDetail
});linkHover
CustomEvent.detail 타입: NetworkGraphLinkEventDetail | null. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: linkHover. 대소문자를 구분합니다. payload는 CustomEvent<NetworkGraphLinkEventDetail | null>의 detail에서 읽습니다.
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에서 읽습니다.
chart.addEventListener('selectionChanged', event => {
console.log(event.detail); // NetworkGraphSelectionChangeEventDetail
});nodeDragStart
CustomEvent.detail 타입: NetworkGraphNodeDragEventDetail. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: nodeDragStart. 대소문자를 구분합니다. payload는 CustomEvent<NetworkGraphNodeDragEventDetail>의 detail에서 읽습니다.
chart.addEventListener('nodeDragStart', event => {
console.log(event.detail); // NetworkGraphNodeDragEventDetail
});nodeDragMove
CustomEvent.detail 타입: NetworkGraphNodeDragEventDetail. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: nodeDragMove. 대소문자를 구분합니다. payload는 CustomEvent<NetworkGraphNodeDragEventDetail>의 detail에서 읽습니다.
chart.addEventListener('nodeDragMove', event => {
console.log(event.detail); // NetworkGraphNodeDragEventDetail
});nodeDragEnd
CustomEvent.detail 타입: NetworkGraphNodeDragEventDetail. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: nodeDragEnd. 대소문자를 구분합니다. payload는 CustomEvent<NetworkGraphNodeDragEventDetail>의 detail에서 읽습니다.
chart.addEventListener('nodeDragEnd', event => {
console.log(event.detail); // NetworkGraphNodeDragEventDetail
});pointContextMenu
CustomEvent.detail 타입: ChartPointContextMenuEventDetail<NetworkGraphHitDetail>. 이벤트 이름은 대소문자를 구분합니다.
이벤트 이름: pointContextMenu. 대소문자를 구분합니다. payload는 CustomEvent<ChartPointContextMenuEventDetail<NetworkGraphHitDetail>>의 detail에서 읽습니다.
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에서 읽습니다.
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
redraw
현재 데이터와 옵션으로 차트를 다시 그립니다. 반환되는 Promise가 완료되면 렌더링 결과를 확인할 수 있습니다.
redraw(): Promise<NetworkGraphRenderResult>반환 타입: Promise<NetworkGraphRenderResult>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getActiveTier
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getActiveTier(): Promise<NetworkGraphEngineTier>반환 타입: Promise<NetworkGraphEngineTier>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
setData
Replace the bar set.
setData(data: NetworkGraphData): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
data | NetworkGraphData | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- NetworkGraphData
타입 정의
appendPoint
스트림에 값 하나를 추가합니다. 메서드 인수 타입과 스트리밍 기능의 라이선스 조건을 확인하세요.
appendPoint(link: NetworkGraphLinkInput): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
link | NetworkGraphLinkInput | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
appendBatch
스트림에 여러 값을 한 번에 추가합니다. 메서드 인수 타입과 스트리밍 기능의 라이선스 조건을 확인하세요.
appendBatch(links: ReadonlyArray<NetworkGraphLinkInput>): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
links | ReadonlyArray<NetworkGraphLinkInput> | 필수 |
반환 타입: Promise<void>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
shift
Drop the oldest streamed links (the data links 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(links: ReadonlyArray<NetworkGraphLinkInput>): Promise<void>| 인수 | 타입 | 필수 여부 |
|---|---|---|
links | ReadonlyArray<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.
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.
getEngineStatus(): Promise<ChartEngineStatus>반환 타입: Promise<ChartEngineStatus>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- ChartEngineStatus
타입 정의
setAnimation
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
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
진행 중인 애니메이션을 일시 정지합니다.
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 node or link under a host-local CSS point (a node first, else the topmost link), or null (always without a valid license).
hitTest(cssX: number, cssY: number): Promise<NetworkGraphHitDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
cssX | number | 필수 |
cssY | number | 필수 |
반환 타입: Promise<NetworkGraphHitDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getNode
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getNode(index: number): Promise<NetworkGraphNode | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
index | number | 필수 |
반환 타입: Promise<NetworkGraphNode | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- NetworkGraphNode
타입 정의
getNodeById
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getNodeById(id: string): Promise<NetworkGraphNode | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
id | string | 필수 |
반환 타입: Promise<NetworkGraphNode | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- NetworkGraphNode
타입 정의
getNodes
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getNodes(): Promise<NetworkGraphNode[]>반환 타입: Promise<NetworkGraphNode[]>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- NetworkGraphNode
타입 정의
getLinks
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getLinks(): Promise<NetworkGraphLink[]>반환 타입: Promise<NetworkGraphLink[]>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- NetworkGraphLink
타입 정의
getNodeCount
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getNodeCount(): Promise<number>반환 타입: Promise<number>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getLinkCount
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getLinkCount(): Promise<number>반환 타입: Promise<number>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getExtent
비동기 메서드입니다. 아래 인수 타입과 반환 타입을 확인하세요.
getExtent(): Promise<NetworkGraphExtent>반환 타입: Promise<NetworkGraphExtent>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
- NetworkGraphExtent
타입 정의
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.
pinNode(id: string, x: number, y: number): Promise<NetworkGraphPinnedNode | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
id | string | 필수 |
x | number | 필수 |
y | number | 필수 |
반환 타입: 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.
unpinNode(id: string): Promise<boolean>| 인수 | 타입 | 필수 여부 |
|---|---|---|
id | string | 필수 |
반환 타입: Promise<boolean>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
clearPinnedNodes
Network Graph — release every pinned node; the count released.
clearPinnedNodes(): Promise<number>반환 타입: Promise<number>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getPinnedNodes
The pinned nodes of the current graph in id order, at their applied (clamped) positions.
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.
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.
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.
getLabels(): Promise<NetworkGraphNodeLabel[]>반환 타입: Promise<NetworkGraphNodeLabel[]>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
getLayout
Host-local geometry as shown. Scale fields preserve ellipses under non-uniform viewport zoom.
getLayout(): Promise<NetworkGraphLayoutResult>반환 타입: Promise<NetworkGraphLayoutResult>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
showTooltipAtIndex
Open a tooltip by point index: all nodes first, then links.
showTooltipAtIndex(index: number): Promise<CartesianTooltipEventDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
index | number | 필수 |
반환 타입: Promise<CartesianTooltipEventDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
hideTooltip
현재 표시 중인 툴팁을 닫습니다.
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.
focusNodeAt(index: number): Promise<NetworkGraphNodeEventDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
index | number | 필수 |
반환 타입: 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.
selectNodeAt(index: number): Promise<NetworkGraphNodeEventDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
index | number | 필수 |
반환 타입: 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.
selectLinkAt(index: number): Promise<NetworkGraphLinkEventDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
index | number | 필수 |
반환 타입: Promise<NetworkGraphLinkEventDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.
clearSelection
Release the selection (emits selectionChanged when there was one).
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.
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).
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 unit-extent units ({ x?, y? }); 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 (0 … 1) and key of the diagram's orientations (null before the first layout).
getZoomExtent(request?: CartesianZoomExtentRequest): Promise<CartesianZoomExtentDetail | null>| 인수 | 타입 | 필수 여부 |
|---|---|---|
request | CartesianZoomExtentRequest | 선택 |
반환 타입: Promise<CartesianZoomExtentDetail | null>. 요소 등록이 끝난 뒤 메서드를 호출하고 Promise 결과를 await로 기다리세요.