원형 차트
항목이 적을 때 각 부분이 전체에서 차지하는 비중을 보여주세요.
원형 차트
가장 단순한 차트
차트를 살펴보고, 표에서 원본 데이터를 확인하세요. 아래에서 같은 예제의 코드를 펼칠 수 있습니다.
기본 예제
불러오는 중
기본 예제 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
categoryordinal | valuequantitative |
|---|---|
| Organic search | 38 |
| Direct | 27 |
| Product referrals | 18 |
| Community | 11 |
| Campaigns | 6 |
코드와 설정 보기
브라우저 API
Graflume.pie()
const data = [
{
"category": "Organic search",
"radius": 34,
"value": 38
},
{
"category": "Direct",
"radius": 28,
"value": 27
},
{
"category": "Product referrals",
"radius": 23,
"value": 18
},
{
"category": "Community",
"radius": 18,
"value": 11
},
{
"category": "Campaigns",
"radius": 13,
"value": 6
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
};
Graflume.pie('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
}- Quick API
pie()- 브라우저 스냅샷
graflume- mark
pie- 프리셋
- 3
minimal-implementation
공통 기능
모든 차트에서 사용하는 기능
기능 탭을 선택해 헤더, 도구 설명, 테마, 범례, 강조, 말풍선, 선택, 화면 제어와 접근성을 하나씩 적용한 결과와 코드를 비교하세요. 데이터 표식 위에 마우스를 올리세요. 지원하는 차트에서는 축을 따라 커서를 움직이면 가장 가까운 값을 볼 수 있습니다. 모든 정확한 값은 아래 표에서 확인할 수 있습니다.
헤더
차트 안에 제목과 보조 설명을 넣어 무엇을 보여주는지 먼저 밝힙니다.
불러오는 중
헤더 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
categoryordinal | valuequantitative |
|---|---|
| Organic search | 38 |
| Direct | 27 |
| Product referrals | 18 |
| Community | 11 |
| Campaigns | 6 |
코드와 설정 보기
브라우저 API
Graflume.pie()
const data = [
{
"category": "Organic search",
"radius": 34,
"value": 38
},
{
"category": "Direct",
"radius": 28,
"value": 27
},
{
"category": "Product referrals",
"radius": 23,
"value": 18
},
{
"category": "Community",
"radius": 18,
"value": 11
},
{
"category": "Campaigns",
"radius": 13,
"value": 6
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {},
"title": {
"subtitle": "Pie chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: start angle and direction · leader labels.",
"text": "원형 차트"
},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
};
Graflume.pie('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {},
"title": {
"subtitle": "Pie chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: start angle and direction · leader labels.",
"text": "원형 차트"
},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
}header
도구 설명
마크 또는 축을 가리키면 정확한 값을 보여줍니다. 날짜·시간은 locale, 형식과 시간대를 사용자가 선언형 옵션으로 정할 수 있습니다.
불러오는 중
도구 설명 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
categoryordinal | valuequantitative |
|---|---|
| Organic search | 38 |
| Direct | 27 |
| Product referrals | 18 |
| Community | 11 |
| Campaigns | 6 |
코드와 설정 보기
브라우저 API
Graflume.pie()
const data = [
{
"category": "Organic search",
"radius": 34,
"value": 38
},
{
"category": "Direct",
"radius": 28,
"value": 27
},
{
"category": "Product referrals",
"radius": 23,
"value": 18
},
{
"category": "Community",
"radius": 18,
"value": 11
},
{
"category": "Campaigns",
"radius": 13,
"value": 6
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"hover": true,
"tooltip": {
"fields": [
{
"field": "category",
"format": "auto",
"label": "범주"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "원형 차트 · 도구 설명",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
};
Graflume.pie('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"hover": true,
"tooltip": {
"fields": [
{
"field": "category",
"format": "auto",
"label": "범주"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "원형 차트 · 도구 설명",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
}tooltip
테마
상단 선택기의 현재 내장 테마를 옵션에 적용하고 모든 활성 예제를 함께 갱신합니다.
불러오는 중
테마 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
categoryordinal | valuequantitative |
|---|---|
| Organic search | 38 |
| Direct | 27 |
| Product referrals | 18 |
| Community | 11 |
| Campaigns | 6 |
코드와 설정 보기
브라우저 API
Graflume.pie()
const data = [
{
"category": "Organic search",
"radius": 34,
"value": 38
},
{
"category": "Direct",
"radius": 28,
"value": 27
},
{
"category": "Product referrals",
"radius": 23,
"value": 18
},
{
"category": "Community",
"radius": 18,
"value": 11
},
{
"category": "Campaigns",
"radius": 13,
"value": 6
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {},
"theme": "graflume-light",
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
};
Graflume.pie('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {},
"theme": "graflume-light",
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
}theme
범례
계열, 범주 또는 연속 값의 시각적 의미를 차트와 함께 설명합니다.
불러오는 중
범례 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
categoryordinal | valuequantitative |
|---|---|
| Organic search | 38 |
| Direct | 27 |
| Product referrals | 18 |
| Community | 11 |
| Campaigns | 6 |
코드와 설정 보기
브라우저 API
Graflume.pie()
const data = [
{
"category": "Organic search",
"radius": 34,
"value": 38
},
{
"category": "Direct",
"radius": 28,
"value": 27
},
{
"category": "Product referrals",
"radius": 23,
"value": 18
},
{
"category": "Community",
"radius": 18,
"value": 11
},
{
"category": "Campaigns",
"radius": 13,
"value": 6
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"legend": {
"field": "category",
"interactive": true,
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "categories",
"orientation": "horizontal",
"position": "bottom",
"title": "범주",
"visible": true
},
"locale": "ko",
"mark": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
};
Graflume.pie('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"legend": {
"field": "category",
"interactive": true,
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "categories",
"orientation": "horizontal",
"position": "bottom",
"title": "범주",
"visible": true
},
"locale": "ko",
"mark": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
}legend
- 범례:
legend · categories · category
강조
대표 데이터나 공간 위치를 시각적으로 강조해 읽을 지점을 안내합니다.
불러오는 중
강조 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
categoryordinal | valuequantitative |
|---|---|
| Organic search | 38 |
| Direct | 27 |
| Product referrals | 18 |
| Community | 11 |
| Campaigns | 6 |
코드와 설정 보기
브라우저 API
Graflume.pie()
const data = [
{
"category": "Organic search",
"radius": 34,
"value": 38
},
{
"category": "Direct",
"radius": 28,
"value": 27
},
{
"category": "Product referrals",
"radius": 23,
"value": 18
},
{
"category": "Community",
"radius": 18,
"value": 11
},
{
"category": "Campaigns",
"radius": 13,
"value": 6
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "category",
"type": "datum",
"value": "Product referrals"
}
}
],
"locale": "ko",
"mark": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
};
Graflume.pie('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "category",
"type": "datum",
"value": "Product referrals"
}
}
],
"locale": "ko",
"mark": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
}highlight
- 포인트·범위 하이라이트:
highlights[] · datum · category
말풍선
자동 충돌 회피와 다국어 줄바꿈을 사용하는 설명 말풍선을 표시합니다.
불러오는 중
말풍선 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
categoryordinal | valuequantitative |
|---|---|
| Organic search | 38 |
| Direct | 27 |
| Product referrals | 18 |
| Community | 11 |
| Campaigns | 6 |
코드와 설정 보기
브라우저 API
Graflume.pie()
const data = [
{
"category": "Organic search",
"radius": 34,
"value": 38
},
{
"category": "Direct",
"radius": 28,
"value": 27
},
{
"category": "Product referrals",
"radius": 23,
"value": 18
},
{
"category": "Community",
"radius": 18,
"value": 11
},
{
"category": "Campaigns",
"radius": 13,
"value": 6
}
];
const options = {
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "category",
"type": "datum",
"value": "Product referrals"
},
"text": "포인트·범위 하이라이트 · Product referrals"
}
],
"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": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
};
Graflume.pie('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "category",
"type": "datum",
"value": "Product referrals"
},
"text": "포인트·범위 하이라이트 · Product referrals"
}
],
"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": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
}callout
- 설명 말풍선:
annotations[] · datum · category · callout · placement:auto
선택
데이터를 선택하고 토글하며 배경이나 Esc 키로 안전하게 해제합니다.
불러오는 중
선택 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
categoryordinal | valuequantitative |
|---|---|
| Organic search | 38 |
| Direct | 27 |
| Product referrals | 18 |
| Community | 11 |
| Campaigns | 6 |
코드와 설정 보기
브라우저 API
Graflume.pie()
const data = [
{
"category": "Organic search",
"radius": 34,
"value": 38
},
{
"category": "Direct",
"radius": 28,
"value": 27
},
{
"category": "Product referrals",
"radius": 23,
"value": 18
},
{
"category": "Community",
"radius": 18,
"value": 11
},
{
"category": "Campaigns",
"radius": 13,
"value": 6
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"selection": {
"ariaLabel": "대화형 선택",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "category",
"mode": "multiple",
"toggle": true
}
},
"locale": "ko",
"mark": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
};
Graflume.pie('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"selection": {
"ariaLabel": "대화형 선택",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "category",
"mode": "multiple",
"toggle": true
}
},
"locale": "ko",
"mark": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
}selection
- 대화형 선택:
selection · multiple · toggle
화면 제어
확대, 이동, 초기화, 투영, 전체 화면과 PNG 내보내기 메뉴를 각각 표시하거나 숨깁니다. controls: false이면 제어 막대 전체를 제거합니다.
불러오는 중
화면 제어 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
categoryordinal | valuequantitative |
|---|---|
| Organic search | 38 |
| Direct | 27 |
| Product referrals | 18 |
| Community | 11 |
| Campaigns | 6 |
코드와 설정 보기
브라우저 API
Graflume.pie()
const data = [
{
"category": "Organic search",
"radius": 34,
"value": 38
},
{
"category": "Direct",
"radius": 28,
"value": 27
},
{
"category": "Product referrals",
"radius": 23,
"value": 18
},
{
"category": "Community",
"radius": 18,
"value": 11
},
{
"category": "Campaigns",
"radius": 13,
"value": 6
}
];
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": {},
"padding": {
"top": 52
},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
};
Graflume.pie('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · 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": {},
"padding": {
"top": 52
},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
}controls
접근성
ARIA 설명, 키보드 안내와 의미 있는 데이터 표를 함께 제공합니다.
불러오는 중
접근성 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
categoryordinal | valuequantitative |
|---|---|
| Organic search | 38 |
| Direct | 27 |
| Product referrals | 18 |
| Community | 11 |
| Campaigns | 6 |
코드와 설정 보기
브라우저 API
Graflume.pie()
const data = [
{
"category": "Organic search",
"radius": 34,
"value": 38
},
{
"category": "Direct",
"radius": 28,
"value": 27
},
{
"category": "Product referrals",
"radius": 23,
"value": 18
},
{
"category": "Community",
"radius": 18,
"value": 11
},
{
"category": "Campaigns",
"radius": 13,
"value": 6
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "원형 차트 · 접근성 example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
};
Graflume.pie('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "원형 차트 · 접근성 example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {},
"width": "container",
"x": {
"field": "category",
"title": "Channel",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Share (%)",
"type": "quantitative"
}
}accessibility