ARIA · table fallback접근성
Canvas ARIA 메타데이터에 텍스트 요약과 표 대체 표현을 함께 제공합니다.
Graflume · Alpha
단어의 부모 관계와 가중치를 가지 구조와 글자 크기로 표현합니다.
차트 계열 · 기본 차트 계열
단어의 부모 관계와 가중치를 가지 구조와 글자 크기로 표현합니다.
wordTree()graflumeword-tree기본 구현
필수 데이터와 차트 고유 인코딩만 사용한 출발점입니다. 아래 코드를 펼치면 그대로 실행할 수 있습니다.
단어의 부모 관계와 가중치를 가지 구조와 글자 크기로 표현합니다.
상태불러오는 중
minimal-implementation불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 100 | — |
| Statistics | 88 | Visualization |
| Interaction | 81 | Visualization |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Scales | 61 | Statistics |
| Uncertainty | 56 | Statistics |
| Keyboard | 51 | Accessibility |
| Contrast | 47 | Accessibility |
| Themes | 43 | Canvas |
| Tooltips | 39 | Canvas |
브라우저 API
const data = [
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Statistics",
"weight": 61,
"word": "Scales"
},
{
"parent": "Statistics",
"weight": 56,
"word": "Uncertainty"
},
{
"parent": "Accessibility",
"weight": 51,
"word": "Keyboard"
},
{
"parent": "Accessibility",
"weight": 47,
"word": "Contrast"
},
{
"parent": "Canvas",
"weight": 43,
"word": "Themes"
},
{
"parent": "Canvas",
"weight": 39,
"word": "Tooltips"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}공통 기능
기능 탭을 선택해 헤더, 도구 설명, 테마, 범례, 강조, 말풍선, 선택, 화면 제어와 접근성을 하나씩 적용한 결과와 코드를 비교하세요. 데이터 표식 위에 마우스를 올리세요. 지원하는 차트에서는 축을 따라 커서를 움직이면 가장 가까운 값을 볼 수 있습니다. 모든 정확한 값은 아래 표에서 확인할 수 있습니다.
차트 안에 제목과 보조 설명을 넣어 무엇을 보여주는지 먼저 밝힙니다.
상태불러오는 중
header불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 100 | — |
| Statistics | 88 | Visualization |
| Interaction | 81 | Visualization |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Scales | 61 | Statistics |
| Uncertainty | 56 | Statistics |
| Keyboard | 51 | Accessibility |
| Contrast | 47 | Accessibility |
| Themes | 43 | Canvas |
| Tooltips | 39 | Canvas |
브라우저 API
const data = [
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Statistics",
"weight": 61,
"word": "Scales"
},
{
"parent": "Statistics",
"weight": 56,
"word": "Uncertainty"
},
{
"parent": "Accessibility",
"weight": 51,
"word": "Keyboard"
},
{
"parent": "Accessibility",
"weight": 47,
"word": "Contrast"
},
{
"parent": "Canvas",
"weight": 43,
"word": "Themes"
},
{
"parent": "Canvas",
"weight": 39,
"word": "Tooltips"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"title": {
"subtitle": "Word tree 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: prestructured phrase hierarchy · weighted labels and links.",
"text": "Word tree"
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"title": {
"subtitle": "Word tree 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: prestructured phrase hierarchy · weighted labels and links.",
"text": "Word tree"
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}마크 또는 축을 가리키면 정확한 값을 보여줍니다. 날짜·시간은 locale, 형식과 시간대를 사용자가 선언형 옵션으로 정할 수 있습니다.
상태불러오는 중
tooltip불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 100 | — |
| Statistics | 88 | Visualization |
| Interaction | 81 | Visualization |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Scales | 61 | Statistics |
| Uncertainty | 56 | Statistics |
| Keyboard | 51 | Accessibility |
| Contrast | 47 | Accessibility |
| Themes | 43 | Canvas |
| Tooltips | 39 | Canvas |
브라우저 API
const data = [
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Statistics",
"weight": 61,
"word": "Scales"
},
{
"parent": "Statistics",
"weight": 56,
"word": "Uncertainty"
},
{
"parent": "Accessibility",
"weight": 51,
"word": "Keyboard"
},
{
"parent": "Accessibility",
"weight": 47,
"word": "Contrast"
},
{
"parent": "Canvas",
"weight": 43,
"word": "Themes"
},
{
"parent": "Canvas",
"weight": 39,
"word": "Tooltips"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"hover": true,
"tooltip": {
"fields": [
{
"field": "word",
"format": "auto",
"label": "단어"
},
{
"field": "weight",
"format": "number",
"label": "가중치"
},
{
"field": "parent",
"format": "auto",
"label": "상위 단어"
}
],
"title": "Word tree · 도구 설명",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"hover": true,
"tooltip": {
"fields": [
{
"field": "word",
"format": "auto",
"label": "단어"
},
{
"field": "weight",
"format": "number",
"label": "가중치"
},
{
"field": "parent",
"format": "auto",
"label": "상위 단어"
}
],
"title": "Word tree · 도구 설명",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}상단 선택기의 현재 내장 테마를 옵션에 적용하고 모든 활성 예제를 함께 갱신합니다.
상태불러오는 중
theme불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 100 | — |
| Statistics | 88 | Visualization |
| Interaction | 81 | Visualization |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Scales | 61 | Statistics |
| Uncertainty | 56 | Statistics |
| Keyboard | 51 | Accessibility |
| Contrast | 47 | Accessibility |
| Themes | 43 | Canvas |
| Tooltips | 39 | Canvas |
브라우저 API
const data = [
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Statistics",
"weight": 61,
"word": "Scales"
},
{
"parent": "Statistics",
"weight": 56,
"word": "Uncertainty"
},
{
"parent": "Accessibility",
"weight": 51,
"word": "Keyboard"
},
{
"parent": "Accessibility",
"weight": 47,
"word": "Contrast"
},
{
"parent": "Canvas",
"weight": 43,
"word": "Themes"
},
{
"parent": "Canvas",
"weight": 39,
"word": "Tooltips"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"theme": "graflume-light",
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"theme": "graflume-light",
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}계열, 범주 또는 연속 값의 시각적 의미를 차트와 함께 설명합니다.
상태불러오는 중
legendlegend · explicit · 2 channels불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 100 | — |
| Statistics | 88 | Visualization |
| Interaction | 81 | Visualization |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Scales | 61 | Statistics |
| Uncertainty | 56 | Statistics |
| Keyboard | 51 | Accessibility |
| Contrast | 47 | Accessibility |
| Themes | 43 | Canvas |
| Tooltips | 39 | Canvas |
브라우저 API
const data = [
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Statistics",
"weight": 61,
"word": "Scales"
},
{
"parent": "Statistics",
"weight": 56,
"word": "Uncertainty"
},
{
"parent": "Accessibility",
"weight": 51,
"word": "Keyboard"
},
{
"parent": "Accessibility",
"weight": 47,
"word": "Contrast"
},
{
"parent": "Canvas",
"weight": 43,
"word": "Themes"
},
{
"parent": "Canvas",
"weight": 39,
"word": "Tooltips"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"legend": {
"interactive": false,
"items": [
{
"id": "semantic-0",
"label": "상위 단어"
},
{
"id": "semantic-1",
"label": "단어"
}
],
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "layers",
"orientation": "horizontal",
"position": "bottom",
"title": "Word tree · 범례",
"visible": true
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"legend": {
"interactive": false,
"items": [
{
"id": "semantic-0",
"label": "상위 단어"
},
{
"id": "semantic-1",
"label": "단어"
}
],
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "layers",
"orientation": "horizontal",
"position": "bottom",
"title": "Word tree · 범례",
"visible": true
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}대표 데이터나 공간 위치를 시각적으로 강조해 읽을 지점을 안내합니다.
상태불러오는 중
highlighthighlights[] · datum · word불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 100 | — |
| Statistics | 88 | Visualization |
| Interaction | 81 | Visualization |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Scales | 61 | Statistics |
| Uncertainty | 56 | Statistics |
| Keyboard | 51 | Accessibility |
| Contrast | 47 | Accessibility |
| Themes | 43 | Canvas |
| Tooltips | 39 | Canvas |
브라우저 API
const data = [
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Statistics",
"weight": 61,
"word": "Scales"
},
{
"parent": "Statistics",
"weight": 56,
"word": "Uncertainty"
},
{
"parent": "Accessibility",
"weight": 51,
"word": "Keyboard"
},
{
"parent": "Accessibility",
"weight": 47,
"word": "Contrast"
},
{
"parent": "Canvas",
"weight": 43,
"word": "Themes"
},
{
"parent": "Canvas",
"weight": 39,
"word": "Tooltips"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "word",
"type": "datum",
"value": "Scales"
}
}
],
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "word",
"type": "datum",
"value": "Scales"
}
}
],
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}자동 충돌 회피와 다국어 줄바꿈을 사용하는 설명 말풍선을 표시합니다.
상태불러오는 중
calloutannotations[] · datum · word · callout · placement:auto불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 100 | — |
| Statistics | 88 | Visualization |
| Interaction | 81 | Visualization |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Scales | 61 | Statistics |
| Uncertainty | 56 | Statistics |
| Keyboard | 51 | Accessibility |
| Contrast | 47 | Accessibility |
| Themes | 43 | Canvas |
| Tooltips | 39 | Canvas |
브라우저 API
const data = [
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Statistics",
"weight": 61,
"word": "Scales"
},
{
"parent": "Statistics",
"weight": 56,
"word": "Uncertainty"
},
{
"parent": "Accessibility",
"weight": 51,
"word": "Keyboard"
},
{
"parent": "Accessibility",
"weight": 47,
"word": "Contrast"
},
{
"parent": "Canvas",
"weight": 43,
"word": "Themes"
},
{
"parent": "Canvas",
"weight": 39,
"word": "Tooltips"
}
];
const options = {
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "word",
"type": "datum",
"value": "Scales"
},
"text": "포인트·범위 하이라이트 · Scales"
}
],
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
}
}
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "word",
"type": "datum",
"value": "Scales"
},
"text": "포인트·범위 하이라이트 · Scales"
}
],
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
}
}
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}데이터를 선택하고 토글하며 배경이나 Esc 키로 안전하게 해제합니다.
상태불러오는 중
selectionselection · multiple · toggle불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 100 | — |
| Statistics | 88 | Visualization |
| Interaction | 81 | Visualization |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Scales | 61 | Statistics |
| Uncertainty | 56 | Statistics |
| Keyboard | 51 | Accessibility |
| Contrast | 47 | Accessibility |
| Themes | 43 | Canvas |
| Tooltips | 39 | Canvas |
브라우저 API
const data = [
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Statistics",
"weight": 61,
"word": "Scales"
},
{
"parent": "Statistics",
"weight": 56,
"word": "Uncertainty"
},
{
"parent": "Accessibility",
"weight": 51,
"word": "Keyboard"
},
{
"parent": "Accessibility",
"weight": 47,
"word": "Contrast"
},
{
"parent": "Canvas",
"weight": 43,
"word": "Themes"
},
{
"parent": "Canvas",
"weight": 39,
"word": "Tooltips"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"selection": {
"ariaLabel": "대화형 선택",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "word",
"mode": "multiple",
"toggle": true
}
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"selection": {
"ariaLabel": "대화형 선택",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "word",
"mode": "multiple",
"toggle": true
}
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}확대, 이동, 초기화, 투영, 전체 화면과 PNG 내보내기 메뉴를 각각 표시하거나 숨깁니다. controls: false이면 제어 막대 전체를 제거합니다.
상태불러오는 중
controls불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 100 | — |
| Statistics | 88 | Visualization |
| Interaction | 81 | Visualization |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Scales | 61 | Statistics |
| Uncertainty | 56 | Statistics |
| Keyboard | 51 | Accessibility |
| Contrast | 47 | Accessibility |
| Themes | 43 | Canvas |
| Tooltips | 39 | Canvas |
브라우저 API
const data = [
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Statistics",
"weight": 61,
"word": "Scales"
},
{
"parent": "Statistics",
"weight": 56,
"word": "Uncertainty"
},
{
"parent": "Accessibility",
"weight": 51,
"word": "Keyboard"
},
{
"parent": "Accessibility",
"weight": 47,
"word": "Contrast"
},
{
"parent": "Canvas",
"weight": 43,
"word": "Themes"
},
{
"parent": "Canvas",
"weight": 39,
"word": "Tooltips"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
}
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"padding": {
"top": 52
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
}
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"padding": {
"top": 52
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}ARIA 설명, 키보드 안내와 의미 있는 데이터 표를 함께 제공합니다.
상태불러오는 중
accessibility불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 100 | — |
| Statistics | 88 | Visualization |
| Interaction | 81 | Visualization |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Scales | 61 | Statistics |
| Uncertainty | 56 | Statistics |
| Keyboard | 51 | Accessibility |
| Contrast | 47 | Accessibility |
| Themes | 43 | Canvas |
| Tooltips | 39 | Canvas |
브라우저 API
const data = [
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Statistics",
"weight": 61,
"word": "Scales"
},
{
"parent": "Statistics",
"weight": 56,
"word": "Uncertainty"
},
{
"parent": "Accessibility",
"weight": 51,
"word": "Keyboard"
},
{
"parent": "Accessibility",
"weight": 47,
"word": "Contrast"
},
{
"parent": "Canvas",
"weight": 43,
"word": "Themes"
},
{
"parent": "Canvas",
"weight": 39,
"word": "Tooltips"
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Word tree · 접근성 example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Word tree · 접근성 example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}차트 고유 기능
Graflume 공개 카탈로그에 등록된 이 계열의 모든 실행 모드입니다. 각 탭은 독립 데이터, 옵션, Quick API와 지원 기능 근거를 가집니다.
Word tree 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: prestructured phrase hierarchy · weighted labels and links.
상태불러오는 중
word-treeprestructured phrase hierarchyweighted labels and linkstokenization/case/stopword/stemmingprefix/suffix/reversephrase aggregation and pruning불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 100 | — |
| Statistics | 88 | Visualization |
| Interaction | 81 | Visualization |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Scales | 61 | Statistics |
| Uncertainty | 56 | Statistics |
| Keyboard | 51 | Accessibility |
| Contrast | 47 | Accessibility |
| Themes | 43 | Canvas |
| Tooltips | 39 | Canvas |
브라우저 API
const data = [
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Statistics",
"weight": 61,
"word": "Scales"
},
{
"parent": "Statistics",
"weight": 56,
"word": "Uncertainty"
},
{
"parent": "Accessibility",
"weight": 51,
"word": "Keyboard"
},
{
"parent": "Accessibility",
"weight": 47,
"word": "Contrast"
},
{
"parent": "Canvas",
"weight": 43,
"word": "Themes"
},
{
"parent": "Canvas",
"weight": 39,
"word": "Tooltips"
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Word tree example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "word",
"format": "auto",
"label": "단어"
},
{
"field": "weight",
"format": "number",
"label": "가중치"
},
{
"field": "parent",
"format": "auto",
"label": "상위 단어"
}
],
"title": "Word tree",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Word tree 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: prestructured phrase hierarchy · weighted labels and links.",
"text": "Word tree"
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Word tree example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "word",
"format": "auto",
"label": "단어"
},
{
"field": "weight",
"format": "number",
"label": "가중치"
},
{
"field": "parent",
"format": "auto",
"label": "상위 단어"
}
],
"title": "Word tree",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Word tree 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: prestructured phrase hierarchy · weighted labels and links.",
"text": "Word tree"
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}극단 사례
성공할 수 있는 유효 데이터 안에서 수치 범위, 희소 구조와 대용량 입력을 검증합니다. 각 탭은 필요할 때만 데이터를 만들며 잘못된 값은 조용히 보정하지 않습니다.
0과 매우 작은 유한값부터 매우 큰 유한값까지 함께 넣어 자동 도메인, 정밀도와 기하가 무너지지 않는지 확인합니다. NaN과 Infinity는 의도적으로 거부됩니다. 유한값과 축 도메인을 보존하는 데이터 무결성 규칙 2개를 적용합니다.
상태불러오는 중
extreme-rangeextreme-smallextreme-largezerobudget:marks<=6불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 1e+12 | — |
| Statistics | 1 | Visualization |
| Interaction | 1e-09 | Visualization |
| Accessibility | 0 | Visualization |
| Canvas | 0 | Interaction |
| Spatial | 0 | Interaction |
브라우저 API
const data = [
{
"parent": "",
"weight": 1000000000000,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 1,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 1e-9,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 0,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 0,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 0,
"word": "Spatial"
}
];
const options = {
"accessibility": {
"description": "A readable concept tree linking statistics, interaction, and accessibility. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Word tree"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"title": {
"subtitle": "edge case · range",
"text": "Word tree"
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "A readable concept tree linking statistics, interaction, and accessibility. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Word tree"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"title": {
"subtitle": "edge case · range",
"text": "Word tree"
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}중복, 결측, 희소성, 순서 뒤바뀜 중 이 계열에서 의미가 정의된 구조만 실행합니다. 잘못된 참조나 깨진 튜플을 성공 예제로 위장하지 않습니다. 결측·중복·순서의 의미를 보존하는 구조 규칙 3개를 적용합니다.
상태불러오는 중
irregular-structuresparseout-of-orderdeep-hierarchybudget:marks<=6불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Interaction | 81 | Visualization |
| Visualization | 100 | — |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Statistics | 88 | Visualization |
브라우저 API
const data = [
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
}
];
const options = {
"accessibility": {
"description": "A readable concept tree linking statistics, interaction, and accessibility. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Word tree · 희소·불규칙 구조"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"title": {
"subtitle": "edge case · structure",
"text": "Word tree · 희소·불규칙 구조"
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "A readable concept tree linking statistics, interaction, and accessibility. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Word tree · 희소·불규칙 구조"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"title": {
"subtitle": "edge case · structure",
"text": "Word tree · 희소·불규칙 구조"
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}결정적인 압축 레시피를 탭을 열 때만 생성합니다. Graflume의 성능 프로필이 입력량에 맞춰 표식 수, 적중 검사와 애니메이션 비용을 제한합니다. 결정적 생성과 출력 제한을 보장하는 대용량 규칙 6개를 적용합니다. 이 계열은 논리 입력 60,000 노드를 생성하고 막대 표식 출력을 최대 5,000개로 제한합니다.
상태불러오는 중
high-row-cardinalityall-input-rows-generatedall-input-rows-processeddeterministic-generationbounded-renderinginput:60000zoom-pan-resetbudget:bar-marks<=5000legend · explicit · 2 channelshighlights[] · datum · wordannotations[] · datum · word · callout · placement:auto불러오는 중
브라우저 API
const recipe = {
"cardinality": {
"axes": {},
"sourceRows": 60000,
"unit": "nodes"
},
"expectedInvariants": [
"finite-json",
"stable-unique-node-id",
"weight-nonnegative"
],
"id": "hierarchy-nodes",
"initialView": {
"kind": "domain",
"zoom": 1
},
"outputBudget": {
"maximum": 5000,
"resource": "bar-marks"
},
"parameters": {
"explicitPerformance": true,
"family": "word-tree",
"nullableFields": [],
"positiveFields": [],
"scenario": "volume",
"valueFields": [
"weight"
],
"valuePolicy": "descending-nonnegative"
},
"preview": {
"maximumRows": 12,
"method": "hierarchy-focus"
},
"reduction": {
"method": "hierarchy-level-of-detail",
"stage": "level-of-detail"
},
"seed": 252838360,
"shape": "rows",
"version": 2
};
const { data, previewRows, plan } = Graflume.materializeDemoRecipe(recipe);
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Word tree · 대용량 데이터"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "word",
"type": "datum",
"value": "Model · Harbor alerts · APAC · Horizon"
},
"text": "포인트·범위 하이라이트 · Model · Harbor alerts · APAC · Horizon"
}
],
"axes": {
"x": false,
"y": false
},
"create": {
"adaptive": {
"environment": {
"rowCount": 60000
},
"largeDataNavigation": true,
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "word",
"type": "datum",
"value": "Model · Harbor alerts · APAC · Horizon"
}
}
],
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "word",
"format": "auto",
"label": "단어"
},
{
"field": "weight",
"format": "number",
"label": "가중치"
},
{
"field": "parent",
"format": "auto",
"label": "상위 단어"
}
],
"title": "Word tree · 대용량 데이터",
"trigger": "mark"
}
},
"legend": {
"interactive": false,
"items": [
{
"id": "semantic-0",
"label": "상위 단어"
},
{
"id": "semantic-1",
"label": "단어"
}
],
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "layers",
"orientation": "horizontal",
"position": "bottom",
"title": "Word tree · 대용량 데이터",
"visible": true
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"padding": {
"top": 52
},
"performance": "ultra",
"theme": "graflume-light",
"title": {
"subtitle": "A readable concept tree linking statistics, interaction, and accessibility · 60,000 logical rows, screen-aware detail",
"text": "Word tree · 대용량 데이터"
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Word tree · 대용량 데이터"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "word",
"type": "datum",
"value": "Model · Harbor alerts · APAC · Horizon"
},
"text": "포인트·범위 하이라이트 · Model · Harbor alerts · APAC · Horizon"
}
],
"axes": {
"x": false,
"y": false
},
"create": {
"adaptive": {
"environment": {
"rowCount": 60000
},
"largeDataNavigation": true,
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "word",
"type": "datum",
"value": "Model · Harbor alerts · APAC · Horizon"
}
}
],
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "word",
"format": "auto",
"label": "단어"
},
{
"field": "weight",
"format": "number",
"label": "가중치"
},
{
"field": "parent",
"format": "auto",
"label": "상위 단어"
}
],
"title": "Word tree · 대용량 데이터",
"trigger": "mark"
}
},
"legend": {
"interactive": false,
"items": [
{
"id": "semantic-0",
"label": "상위 단어"
},
{
"id": "semantic-1",
"label": "단어"
}
],
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "layers",
"orientation": "horizontal",
"position": "bottom",
"title": "Word tree · 대용량 데이터",
"visible": true
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"padding": {
"top": 52
},
"performance": "ultra",
"theme": "graflume-light",
"title": {
"subtitle": "A readable concept tree linking statistics, interaction, and accessibility · 60,000 logical rows, screen-aware detail",
"text": "Word tree · 대용량 데이터"
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}극단 환경
기기 이름을 추측하지 않고 컨테이너 크기, 입력 방식, 표시 능력과 사용자 선호를 조합합니다. 모바일·워치·전자종이·흑백·도트 화면과 표준 기반 극단 환경을 같은 차트에서 비교하세요.
컨테이너 폭과 높이에 따라 축, 범례, 설명과 조작부를 자동 재배치합니다.
960×540 · adaptive.profiles=responsive-fluidzoom-reflowshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial세로형 작은 화면에서 44px 터치 대상, 탭 도구 설명과 접힌 보조 정보를 우선합니다.
390×844 · adaptive.profiles=mobile-touchzoom-reflowcoarse-touchvirtual-keyboardshape-rectangledisplay-colorinput-coarsemotion-fullrenderer-canvas-spatial원형 또는 매우 작은 화면에서는 핵심 표식과 값, 단계형 조작만 남기고 나머지는 아래 설명으로 재배치합니다.
184×224 · adaptive.profiles=smartwatchzoom-reflowreduced-effectscoarse-touchlow-resourcecutout-roundshape-rounddisplay-colorinput-coarsemotion-reducedrenderer-canvas-spatialviewport-tiny낮은 갱신률과 잔상 가능성을 고려해 정적 상태, 높은 명암과 데이터 표를 우선합니다.
758×1024 · adaptive.profiles=ebook-paperprint-pagedreduced-effectslow-resourceshape-pageddisplay-e-inkinput-keyboardmotion-staticrenderer-canvas-spatial색만으로 계열을 구분하지 않고 선, 표식, 패턴, 라벨과 표를 함께 사용합니다.
640×400 · adaptive.profiles=monochromereduced-effectsshape-rectangledisplay-monochromeinput-finemotion-reducedrenderer-canvas-spatial낮은 해상도에서는 표식 수와 장식을 줄이고 굵은 선, 정수 라벨과 단계형 확대를 사용합니다.
320×240 · adaptive.profiles=dot-matrixzoom-reflowreduced-effectskeyboard-switchlow-resourceshape-rectangledisplay-gridinput-keyboardmotion-staticrenderer-canvas-spatialviewport-tiny320 CSS px 등가 폭에서 본문은 한 축으로 재배치하고 차트만 자체 확대·이동을 허용합니다.
320×480 · adaptive.profiles=zoom-reflowzoom-reflowshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial힌지와 화면 분할 영역을 가로지르지 않도록 차트와 설명을 독립 세그먼트로 재배치합니다.
720×640 · adaptive.profiles=foldable-dualfoldable-dualshape-dualdisplay-colorinput-finemotion-fullrenderer-canvas-spatial호버가 없는 원거리 화면에서 큰 초점 표시와 방향키, Enter, Escape 조작을 제공합니다.
1920×1080 · adaptive.profiles=tv-remotetv-remoteshape-rectangledisplay-colorinput-remotemotion-fullrenderer-canvas-spatial조작부 대신 정적 차트, 설명과 표를 함께 배치하고 페이지 중간 분할을 피합니다.
794×1123 · adaptive.profiles=print-pagedprint-pagedshape-pageddisplay-colorinput-finemotion-staticrenderer-canvas-spatial시스템 색과 테두리를 존중하고 패턴, 표식과 텍스트를 중복 단서로 유지합니다.
640×400 · adaptive.profiles=forced-colorsforced-colorsshape-rectangledisplay-high-contrastinput-finemotion-fullrenderer-canvas-spatial전환을 즉시 끝내고 불투명 배경과 지연 로드를 사용해 움직임과 투명도 부담을 줄입니다.
640×400 · adaptive.profiles=reduced-effectsreduced-effectsshape-rectangledisplay-colorinput-finemotion-reducedrenderer-canvas-spatial호버 없이 탭으로 값을 확인하고 실제 조작 대상은 44px 이상, 확대·축소는 명시 버튼으로 제공합니다.
390×844 · adaptive.profiles=coarse-touchcoarse-touchshape-rectangledisplay-colorinput-coarsemotion-fullrenderer-canvas-spatial드래그 전용 기능 없이 Tab, 방향키, Enter, Space, Escape로 모든 조작에 도달합니다.
640×400 · adaptive.profiles=keyboard-switchkeyboard-switchshape-rectangledisplay-colorinput-keyboardmotion-fullrenderer-canvas-spatial적은 메모리와 느린 연결에서는 점진 렌더링, 샘플링, 취소 가능한 작업과 정적 대체를 우선합니다.
640×400 · adaptive.profiles=low-resourcelow-resourceshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial본문과 탭은 RTL 논리 방향을 따르되 축, 코드와 데이터 식별자는 기술적 LTR 순서를 유지합니다.
640×400 · adaptive.profiles=rtlrtlshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial세로쓰기 설명은 재배치하되 차트와 기술 표면은 독립적인 가로 패널로 유지합니다.
640×400 · adaptive.profiles=vertical-writingvertical-writingshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial차트를 무한히 늘이지 않고 읽기 가능한 최대 폭, 패널 분할과 큰 라벨을 사용합니다.
1920×720 · adaptive.profiles=ultrawide-projectionultrawide-projectionshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial짧고 긴 설명, 의미 있는 표와 상태를 제공해 Canvas나 색을 정보의 유일한 경로로 만들지 않습니다.
640×400 · adaptive.profiles=screenreader-braillescreenreader-brailleshape-nonvisualdisplay-colorinput-nonvisualmotion-fullrenderer-canvas-spatial스크립트가 꺼져도 검증된 정적 미리보기, 설명과 접힌 행 데이터 표가 핵심 정보를 보존합니다.
640×400 · adaptive.profiles=no-scriptno-scriptshape-nonvisualdisplay-colorinput-finemotion-staticrenderer-static-fallbackXR 전용 API가 없어도 일반 2D 또는 WebGL 패널로 안전하게 돌아가며 깊이 단서를 텍스트와 표로 중복합니다.
640×400 · adaptive.profiles=spatial-xrspatial-xrshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatialsafe-area와 원형 경계를 피해 제목, 표식, 조작부가 잘리지 않게 안쪽으로 재배치합니다.
184×224 · adaptive.profiles=cutout-roundcutout-roundshape-rounddisplay-colorinput-finemotion-fullrenderer-canvas-spatialviewport-tiny가상 키보드가 화면을 줄여도 초점 조작, 차트와 현재 설명이 가려지지 않게 다시 배치합니다.
390×560 · adaptive.profiles=virtual-keyboardvirtual-keyboardshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial위 프로필 탭을 선택하면 같은 데이터와 ChartSpec을 유지한 채 화면 크기, 입력 방식, 표시 능력과 사용자 선호에 맞춰 차트를 다시 구성합니다.
상태불러오는 중
adaptivecapability-drivenno-user-agent-branchinglegend · explicit · 2 channelshighlights[] · datum · wordannotations[] · datum · word · callout · placement:autoselection · multiple · toggle불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
wordordinal | weightquantitative | parentordinal |
|---|---|---|
| Visualization | 100 | — |
| Statistics | 88 | Visualization |
| Interaction | 81 | Visualization |
| Accessibility | 76 | Visualization |
| Canvas | 70 | Interaction |
| Spatial | 65 | Interaction |
| Scales | 61 | Statistics |
| Uncertainty | 56 | Statistics |
| Keyboard | 51 | Accessibility |
| Contrast | 47 | Accessibility |
| Themes | 43 | Canvas |
| Tooltips | 39 | Canvas |
브라우저 API
const data = [
{
"parent": "",
"weight": 100,
"word": "Visualization"
},
{
"parent": "Visualization",
"weight": 88,
"word": "Statistics"
},
{
"parent": "Visualization",
"weight": 81,
"word": "Interaction"
},
{
"parent": "Visualization",
"weight": 76,
"word": "Accessibility"
},
{
"parent": "Interaction",
"weight": 70,
"word": "Canvas"
},
{
"parent": "Interaction",
"weight": 65,
"word": "Spatial"
},
{
"parent": "Statistics",
"weight": 61,
"word": "Scales"
},
{
"parent": "Statistics",
"weight": 56,
"word": "Uncertainty"
},
{
"parent": "Accessibility",
"weight": 51,
"word": "Keyboard"
},
{
"parent": "Accessibility",
"weight": 47,
"word": "Contrast"
},
{
"parent": "Canvas",
"weight": 43,
"word": "Themes"
},
{
"parent": "Canvas",
"weight": 39,
"word": "Tooltips"
}
];
const options = {
"accessibility": {
"description": "A readable concept tree linking statistics, interaction, and accessibility. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Word tree: A readable concept tree linking statistics, interaction, and accessibility"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "word",
"type": "datum",
"value": "Scales"
},
"text": "포인트·범위 하이라이트 · Scales"
}
],
"axes": {
"x": false,
"y": false
},
"create": {
"adaptive": {
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "word",
"type": "datum",
"value": "Scales"
}
}
],
"interaction": {
"controls": {
"annotations": true,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"selection": {
"ariaLabel": "대화형 선택",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "word",
"mode": "multiple",
"toggle": true
},
"tooltip": {
"fields": [
{
"field": "word",
"format": "auto",
"label": "단어"
},
{
"field": "weight",
"format": "number",
"label": "가중치"
},
{
"field": "parent",
"format": "auto",
"label": "상위 단어"
}
],
"title": "Word tree",
"trigger": "mark"
}
},
"legend": {
"interactive": false,
"items": [
{
"id": "semantic-0",
"label": "상위 단어"
},
{
"id": "semantic-1",
"label": "단어"
}
],
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "layers",
"orientation": "horizontal",
"position": "bottom",
"title": "Word tree",
"visible": true
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "A readable concept tree linking statistics, interaction, and accessibility",
"text": "Word tree"
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
};
Graflume.wordTree('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "A readable concept tree linking statistics, interaction, and accessibility. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Word tree: A readable concept tree linking statistics, interaction, and accessibility"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "word",
"type": "datum",
"value": "Scales"
},
"text": "포인트·범위 하이라이트 · Scales"
}
],
"axes": {
"x": false,
"y": false
},
"create": {
"adaptive": {
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "word",
"type": "datum",
"value": "Scales"
}
}
],
"interaction": {
"controls": {
"annotations": true,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"selection": {
"ariaLabel": "대화형 선택",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "word",
"mode": "multiple",
"toggle": true
},
"tooltip": {
"fields": [
{
"field": "word",
"format": "auto",
"label": "단어"
},
{
"field": "weight",
"format": "number",
"label": "가중치"
},
{
"field": "parent",
"format": "auto",
"label": "상위 단어"
}
],
"title": "Word tree",
"trigger": "mark"
}
},
"legend": {
"interactive": false,
"items": [
{
"id": "semantic-0",
"label": "상위 단어"
},
{
"id": "semantic-1",
"label": "단어"
}
],
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "layers",
"orientation": "horizontal",
"position": "bottom",
"title": "Word tree",
"visible": true
},
"locale": "ko",
"mark": {
"fields": {
"parent": "parent"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "A readable concept tree linking statistics, interaction, and accessibility",
"text": "Word tree"
},
"width": "container",
"x": {
"field": "word",
"title": "Concept",
"type": "ordinal"
},
"y": {
"field": "weight",
"title": "Mentions",
"type": "quantitative"
}
}Catalog
The source-controlled catalog maps callable modes in this family and compatibility identifiers to their canonical modes. This table contains executable entries only.
1 modes · 0 compatibility identifiers
| ID | Name | Quick API | mode | mark | renderer |
|---|---|---|---|---|---|
word-tree | Word tree | wordTree() | default | word-tree | canvas |
매뉴얼
ARIA · table fallbackCanvas ARIA 메타데이터에 텍스트 요약과 표 대체 표현을 함께 제공합니다.
standard · large · ultrastandard·large·ultra 프로필은 렌더링 작업량을 제한합니다.