ARIA · table fallback접근성
Canvas ARIA 메타데이터에 텍스트 요약과 표 대체 표현을 함께 제공합니다.
Graflume · Alpha
내장 Natural Earth 1:110m 국가 경계 위에서 다섯 세계 도시의 활동을 비교하며, 외부 tile/API 요청은 발생하지 않습니다. Graflume 공개 카탈로그에 등록된 이 계열의 모든 실행 모드입니다. 각 탭은 독립 데이터, 옵션, Quick API와 지원 기능 근거를 가집니다.
차트 계열 · 기본 차트 계열
내장 Natural Earth 1:110m 국가 경계 위에서 다섯 세계 도시의 활동을 비교하며, 외부 tile/API 요청은 발생하지 않습니다.
map()graflumemap차트 고유 기능
기존 Map 모드와 함께 한 국가, 여러 국가, 한 국가의 주요 행정구역, 여러 지역, 국가·지역 혼합 선택, 세계 상세 카탈로그와 자동 맞춤·상세도·라벨을 기능별 탭으로 실행합니다.
Geographic region chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: embedded Natural Earth basemap · general fit and clip policy.
상태불러오는 중
geoembedded Natural Earth basemapgeneral fit and clip policy불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
regionordinal | valuequantitative |
|---|---|
| KR | 92 |
| JPN | 84 |
| SGP | 79 |
| USA | 88 |
| BRA | 63 |
| FRA | 76 |
| ZAF | 58 |
| AUS | 72 |
브라우저 API
const data = [
{
"region": "KR",
"value": 92
},
{
"region": "JPN",
"value": 84
},
{
"region": "SGP",
"value": 79
},
{
"region": "USA",
"value": 88
},
{
"region": "BRA",
"value": 63
},
{
"region": "FRA",
"value": 76
},
{
"region": "ZAF",
"value": 58
},
{
"region": "AUS",
"value": 72
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "region",
"format": "auto",
"label": "Region"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"options": {
"mode": "choropleth"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Geographic region chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: embedded Natural Earth basemap · general fit and clip policy.",
"text": "Map"
},
"width": "container",
"x": {
"field": "region",
"title": "Longitude",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Latitude",
"type": "quantitative"
}
};
Graflume.geo('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "region",
"format": "auto",
"label": "Region"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"options": {
"mode": "choropleth"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Geographic region chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: embedded Natural Earth basemap · general fit and clip policy.",
"text": "Map"
},
"width": "container",
"x": {
"field": "region",
"title": "Longitude",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Latitude",
"type": "quantitative"
}
}Map 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: point/region/choropleth/route/heat halo · flat geodesics.
상태불러오는 중
mappoint/region/choropleth/route/heat haloflat geodesics불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
longitudequantitative | latitudequantitative | valuequantitative |
|---|---|---|
| 126.98 | 37.57 | 92 |
| 139.69 | 35.68 | 78 |
| 103.82 | 1.35 | 64 |
| 77.21 | 28.61 | 58 |
| 2.35 | 48.86 | 73 |
| -74 | 40.71 | 88 |
| -122.42 | 37.77 | 69 |
| 151.21 | -33.87 | 51 |
브라우저 API
const data = [
{
"latitude": 37.57,
"latitude2": 35.68,
"longitude": 126.98,
"longitude2": 139.69,
"name": "Seoul",
"value": 92
},
{
"latitude": 35.68,
"latitude2": 1.35,
"longitude": 139.69,
"longitude2": 103.82,
"name": "Tokyo",
"value": 78
},
{
"latitude": 1.35,
"latitude2": 28.61,
"longitude": 103.82,
"longitude2": 77.21,
"name": "Singapore",
"value": 64
},
{
"latitude": 28.61,
"latitude2": 48.86,
"longitude": 77.21,
"longitude2": 2.35,
"name": "Delhi",
"value": 58
},
{
"latitude": 48.86,
"latitude2": 40.71,
"longitude": 2.35,
"longitude2": -74,
"name": "Paris",
"value": 73
},
{
"latitude": 40.71,
"latitude2": 37.77,
"longitude": -74,
"longitude2": -122.42,
"name": "New York",
"value": 88
},
{
"latitude": 37.77,
"latitude2": 19.43,
"longitude": -122.42,
"longitude2": -99.13,
"name": "San Francisco",
"value": 69
},
{
"latitude": -33.87,
"latitude2": 37.57,
"longitude": 151.21,
"longitude2": 126.98,
"name": "Sydney",
"value": 51
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"size": "value"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Map 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: point/region/choropleth/route/heat halo · flat geodesics.",
"text": "Map"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
};
Graflume.map('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"size": "value"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Map 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: point/region/choropleth/route/heat halo · flat geodesics.",
"text": "Map"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
}Flow map 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: optional graticule · provider-backed tile lifecycle, cache and attribution.
상태불러오는 중
flow-mapoptional graticuleprovider-backed tile lifecycle, cache and attribution불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
longitudequantitative | latitudequantitative | longitude2quantitative | latitude2quantitative | valuequantitative |
|---|---|---|---|---|
| 126.98 | 37.57 | 139.69 | 35.68 | 92 |
| 139.69 | 35.68 | 103.82 | 1.35 | 78 |
| 103.82 | 1.35 | 77.21 | 28.61 | 64 |
| 77.21 | 28.61 | 2.35 | 48.86 | 58 |
| 2.35 | 48.86 | -74 | 40.71 | 73 |
| -74 | 40.71 | -122.42 | 37.77 | 88 |
| -122.42 | 37.77 | -99.13 | 19.43 | 69 |
| 151.21 | -33.87 | 126.98 | 37.57 | 51 |
브라우저 API
const data = [
{
"latitude": 37.57,
"latitude2": 35.68,
"longitude": 126.98,
"longitude2": 139.69,
"name": "Seoul",
"value": 92
},
{
"latitude": 35.68,
"latitude2": 1.35,
"longitude": 139.69,
"longitude2": 103.82,
"name": "Tokyo",
"value": 78
},
{
"latitude": 1.35,
"latitude2": 28.61,
"longitude": 103.82,
"longitude2": 77.21,
"name": "Singapore",
"value": 64
},
{
"latitude": 28.61,
"latitude2": 48.86,
"longitude": 77.21,
"longitude2": 2.35,
"name": "Delhi",
"value": 58
},
{
"latitude": 48.86,
"latitude2": 40.71,
"longitude": 2.35,
"longitude2": -74,
"name": "Paris",
"value": 73
},
{
"latitude": 40.71,
"latitude2": 37.77,
"longitude": -74,
"longitude2": -122.42,
"name": "New York",
"value": 88
},
{
"latitude": 37.77,
"latitude2": 19.43,
"longitude": -122.42,
"longitude2": -99.13,
"name": "San Francisco",
"value": 69
},
{
"latitude": -33.87,
"latitude2": 37.57,
"longitude": 151.21,
"longitude2": 126.98,
"name": "Sydney",
"value": 51
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · Flow map example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
},
{
"field": "longitude2",
"format": "number",
"label": "Longitude2"
},
{
"field": "latitude2",
"format": "number",
"label": "Latitude2"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · Flow map",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"latitude2": "latitude2",
"longitude2": "longitude2",
"value": "value"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Flow map 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: optional graticule · provider-backed tile lifecycle, cache and attribution.",
"text": "Map · Flow map"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
};
Graflume.flowMap('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · Flow map example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
},
{
"field": "longitude2",
"format": "number",
"label": "Longitude2"
},
{
"field": "latitude2",
"format": "number",
"label": "Latitude2"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · Flow map",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"latitude2": "latitude2",
"longitude2": "longitude2",
"value": "value"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Flow map 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: optional graticule · provider-backed tile lifecycle, cache and attribution.",
"text": "Map · Flow map"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
}Geographic heatmap 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: bounded equirectangular viewport and coordinate validation · country, subdivision, and arbitrary-feature multi-selection.
상태불러오는 중
geo-heatmapbounded equirectangular viewport and coordinate validationcountry, subdivision, and arbitrary-feature multi-selection불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
longitudequantitative | latitudequantitative | valuequantitative |
|---|---|---|
| 126.98 | 37.57 | 92 |
| 139.69 | 35.68 | 78 |
| 103.82 | 1.35 | 64 |
| 77.21 | 28.61 | 58 |
| 2.35 | 48.86 | 73 |
| -74 | 40.71 | 88 |
| -122.42 | 37.77 | 69 |
| 151.21 | -33.87 | 51 |
브라우저 API
const data = [
{
"latitude": 37.57,
"latitude2": 35.68,
"longitude": 126.98,
"longitude2": 139.69,
"name": "Seoul",
"value": 92
},
{
"latitude": 35.68,
"latitude2": 1.35,
"longitude": 139.69,
"longitude2": 103.82,
"name": "Tokyo",
"value": 78
},
{
"latitude": 1.35,
"latitude2": 28.61,
"longitude": 103.82,
"longitude2": 77.21,
"name": "Singapore",
"value": 64
},
{
"latitude": 28.61,
"latitude2": 48.86,
"longitude": 77.21,
"longitude2": 2.35,
"name": "Delhi",
"value": 58
},
{
"latitude": 48.86,
"latitude2": 40.71,
"longitude": 2.35,
"longitude2": -74,
"name": "Paris",
"value": 73
},
{
"latitude": 40.71,
"latitude2": 37.77,
"longitude": -74,
"longitude2": -122.42,
"name": "New York",
"value": 88
},
{
"latitude": 37.77,
"latitude2": 19.43,
"longitude": -122.42,
"longitude2": -99.13,
"name": "San Francisco",
"value": 69
},
{
"latitude": -33.87,
"latitude2": 37.57,
"longitude": 151.21,
"longitude2": 126.98,
"name": "Sydney",
"value": 51
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · Geographic heatmap example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · Geographic heatmap",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Geographic heatmap 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: bounded equirectangular viewport and coordinate validation · country, subdivision, and arbitrary-feature multi-selection.",
"text": "Map · Geographic heatmap"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
};
Graflume.geoHeatmap('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · Geographic heatmap example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · Geographic heatmap",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Geographic heatmap 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: bounded equirectangular viewport and coordinate validation · country, subdivision, and arbitrary-feature multi-selection.",
"text": "Map · Geographic heatmap"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
}Map bubble chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: embedded Natural Earth attribution toggle · selection-aware automatic bounds and overlay clipping.
상태불러오는 중
map-bubbleembedded Natural Earth attribution toggleselection-aware automatic bounds and overlay clipping불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
longitudequantitative | latitudequantitative | valuequantitative |
|---|---|---|
| 126.98 | 37.57 | 92 |
| 139.69 | 35.68 | 78 |
| 103.82 | 1.35 | 64 |
| 77.21 | 28.61 | 58 |
| 2.35 | 48.86 | 73 |
| -74 | 40.71 | 88 |
| -122.42 | 37.77 | 69 |
| 151.21 | -33.87 | 51 |
브라우저 API
const data = [
{
"latitude": 37.57,
"latitude2": 35.68,
"longitude": 126.98,
"longitude2": 139.69,
"name": "Seoul",
"value": 92
},
{
"latitude": 35.68,
"latitude2": 1.35,
"longitude": 139.69,
"longitude2": 103.82,
"name": "Tokyo",
"value": 78
},
{
"latitude": 1.35,
"latitude2": 28.61,
"longitude": 103.82,
"longitude2": 77.21,
"name": "Singapore",
"value": 64
},
{
"latitude": 28.61,
"latitude2": 48.86,
"longitude": 77.21,
"longitude2": 2.35,
"name": "Delhi",
"value": 58
},
{
"latitude": 48.86,
"latitude2": 40.71,
"longitude": 2.35,
"longitude2": -74,
"name": "Paris",
"value": 73
},
{
"latitude": 40.71,
"latitude2": 37.77,
"longitude": -74,
"longitude2": -122.42,
"name": "New York",
"value": 88
},
{
"latitude": 37.77,
"latitude2": 19.43,
"longitude": -122.42,
"longitude2": -99.13,
"name": "San Francisco",
"value": 69
},
{
"latitude": -33.87,
"latitude2": 37.57,
"longitude": 151.21,
"longitude2": 126.98,
"name": "Sydney",
"value": 51
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · Map bubble chart example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · Map bubble chart",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"size": "value"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Map bubble chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: embedded Natural Earth attribution toggle · selection-aware automatic bounds and overlay clipping.",
"text": "Map · Map bubble chart"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
};
Graflume.mapBubble('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · Map bubble chart example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · Map bubble chart",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"size": "value"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Map bubble chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: embedded Natural Earth attribution toggle · selection-aware automatic bounds and overlay clipping.",
"text": "Map · Map bubble chart"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
}Map line chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: globe great-circle routes · versioned lazy boundary packs with byte-length and SHA-256 verification.
상태불러오는 중
map-lineglobe great-circle routesversioned lazy boundary packs with byte-length and SHA-256 verification불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
longitudequantitative | latitudequantitative | longitude2quantitative | latitude2quantitative | valuequantitative |
|---|---|---|---|---|
| 126.98 | 37.57 | 139.69 | 35.68 | 92 |
| 139.69 | 35.68 | 103.82 | 1.35 | 78 |
| 103.82 | 1.35 | 77.21 | 28.61 | 64 |
| 77.21 | 28.61 | 2.35 | 48.86 | 58 |
| 2.35 | 48.86 | -74 | 40.71 | 73 |
| -74 | 40.71 | -122.42 | 37.77 | 88 |
| -122.42 | 37.77 | -99.13 | 19.43 | 69 |
| 151.21 | -33.87 | 126.98 | 37.57 | 51 |
브라우저 API
const data = [
{
"latitude": 37.57,
"latitude2": 35.68,
"longitude": 126.98,
"longitude2": 139.69,
"name": "Seoul",
"value": 92
},
{
"latitude": 35.68,
"latitude2": 1.35,
"longitude": 139.69,
"longitude2": 103.82,
"name": "Tokyo",
"value": 78
},
{
"latitude": 1.35,
"latitude2": 28.61,
"longitude": 103.82,
"longitude2": 77.21,
"name": "Singapore",
"value": 64
},
{
"latitude": 28.61,
"latitude2": 48.86,
"longitude": 77.21,
"longitude2": 2.35,
"name": "Delhi",
"value": 58
},
{
"latitude": 48.86,
"latitude2": 40.71,
"longitude": 2.35,
"longitude2": -74,
"name": "Paris",
"value": 73
},
{
"latitude": 40.71,
"latitude2": 37.77,
"longitude": -74,
"longitude2": -122.42,
"name": "New York",
"value": 88
},
{
"latitude": 37.77,
"latitude2": 19.43,
"longitude": -122.42,
"longitude2": -99.13,
"name": "San Francisco",
"value": 69
},
{
"latitude": -33.87,
"latitude2": 37.57,
"longitude": 151.21,
"longitude2": 126.98,
"name": "Sydney",
"value": 51
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · Map line chart example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
},
{
"field": "longitude2",
"format": "number",
"label": "Longitude2"
},
{
"field": "latitude2",
"format": "number",
"label": "Latitude2"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · Map line chart",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"latitude2": "latitude2",
"longitude2": "longitude2",
"value": "value"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Map line chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: globe great-circle routes · versioned lazy boundary packs with byte-length and SHA-256 verification.",
"text": "Map · Map line chart"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
};
Graflume.mapLine('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · Map line chart example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
},
{
"field": "longitude2",
"format": "number",
"label": "Longitude2"
},
{
"field": "latitude2",
"format": "number",
"label": "Latitude2"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · Map line chart",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"latitude2": "latitude2",
"longitude2": "longitude2",
"value": "value"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Map line chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: globe great-circle routes · versioned lazy boundary packs with byte-length and SHA-256 verification.",
"text": "Map · Map line chart"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
}Map point chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: back-face occlusion and orbit · bounded coordinate-detail preparation without feature or ring sampling.
상태불러오는 중
map-pointback-face occlusion and orbitbounded coordinate-detail preparation without feature or ring sampling불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
longitudequantitative | latitudequantitative | valuequantitative |
|---|---|---|
| 126.98 | 37.57 | 92 |
| 139.69 | 35.68 | 78 |
| 103.82 | 1.35 | 64 |
| 77.21 | 28.61 | 58 |
| 2.35 | 48.86 | 73 |
| -74 | 40.71 | 88 |
| -122.42 | 37.77 | 69 |
| 151.21 | -33.87 | 51 |
브라우저 API
const data = [
{
"latitude": 37.57,
"latitude2": 35.68,
"longitude": 126.98,
"longitude2": 139.69,
"name": "Seoul",
"value": 92
},
{
"latitude": 35.68,
"latitude2": 1.35,
"longitude": 139.69,
"longitude2": 103.82,
"name": "Tokyo",
"value": 78
},
{
"latitude": 1.35,
"latitude2": 28.61,
"longitude": 103.82,
"longitude2": 77.21,
"name": "Singapore",
"value": 64
},
{
"latitude": 28.61,
"latitude2": 48.86,
"longitude": 77.21,
"longitude2": 2.35,
"name": "Delhi",
"value": 58
},
{
"latitude": 48.86,
"latitude2": 40.71,
"longitude": 2.35,
"longitude2": -74,
"name": "Paris",
"value": 73
},
{
"latitude": 40.71,
"latitude2": 37.77,
"longitude": -74,
"longitude2": -122.42,
"name": "New York",
"value": 88
},
{
"latitude": 37.77,
"latitude2": 19.43,
"longitude": -122.42,
"longitude2": -99.13,
"name": "San Francisco",
"value": 69
},
{
"latitude": -33.87,
"latitude2": 37.57,
"longitude": 151.21,
"longitude2": 126.98,
"name": "Sydney",
"value": 51
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · Map point chart example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · Map point chart",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"size": "value"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Map point chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: back-face occlusion and orbit · bounded coordinate-detail preparation without feature or ring sampling.",
"text": "Map · Map point chart"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
};
Graflume.mapPoint('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · Map point chart example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · Map point chart",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"size": "value"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Map point chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: back-face occlusion and orbit · bounded coordinate-detail preparation without feature or ring sampling.",
"text": "Map · Map point chart"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
}Tiled map 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: source/layer/projection lifecycle · explicit feature-to-row joins and collision-aware geographic labels.
상태불러오는 중
tiled-mapsource/layer/projection lifecycleexplicit feature-to-row joins and collision-aware geographic labels불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
longitudequantitative | latitudequantitative |
|---|---|
| 126.98 | 37.57 |
| 139.69 | 35.68 |
| 103.82 | 1.35 |
| 77.21 | 28.61 |
| 2.35 | 48.86 |
| -74 | 40.71 |
| -122.42 | 37.77 |
| 151.21 | -33.87 |
브라우저 API
const data = [
{
"latitude": 37.57,
"latitude2": 35.68,
"longitude": 126.98,
"longitude2": 139.69,
"name": "Seoul",
"value": 92
},
{
"latitude": 35.68,
"latitude2": 1.35,
"longitude": 139.69,
"longitude2": 103.82,
"name": "Tokyo",
"value": 78
},
{
"latitude": 1.35,
"latitude2": 28.61,
"longitude": 103.82,
"longitude2": 77.21,
"name": "Singapore",
"value": 64
},
{
"latitude": 28.61,
"latitude2": 48.86,
"longitude": 77.21,
"longitude2": 2.35,
"name": "Delhi",
"value": 58
},
{
"latitude": 48.86,
"latitude2": 40.71,
"longitude": 2.35,
"longitude2": -74,
"name": "Paris",
"value": 73
},
{
"latitude": 40.71,
"latitude2": 37.77,
"longitude": -74,
"longitude2": -122.42,
"name": "New York",
"value": 88
},
{
"latitude": 37.77,
"latitude2": 19.43,
"longitude": -122.42,
"longitude2": -99.13,
"name": "San Francisco",
"value": 69
},
{
"latitude": -33.87,
"latitude2": 37.57,
"longitude": 151.21,
"longitude2": 126.98,
"name": "Sydney",
"value": 51
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · Tiled map example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
}
],
"title": "Map · Tiled map",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"options": {
"graticule": true
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Tiled map 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: source/layer/projection lifecycle · explicit feature-to-row joins and collision-aware geographic labels.",
"text": "Map · Tiled map"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
};
Graflume.tiledMap('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · Tiled map example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "longitude",
"format": "number",
"label": "경도"
},
{
"field": "latitude",
"format": "number",
"label": "위도"
}
],
"title": "Map · Tiled map",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"options": {
"graticule": true
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Tiled map 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: source/layer/projection lifecycle · explicit feature-to-row joins and collision-aware geographic labels.",
"text": "Map · Tiled map"
},
"width": "container",
"x": {
"field": "longitude",
"title": "Longitude",
"type": "quantitative"
},
"y": {
"field": "latitude",
"title": "Latitude",
"type": "quantitative"
}
}Natural Earth land and borders on a sphere with optional points and routes. 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: GeoJSON and TopoJSON.
상태불러오는 중
globeGeoJSON and TopoJSON불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
kindordinal | longitudequantitative | latitudequantitative | labelordinal | valuequantitative | sizequantitative | fromLongitudequantitative | fromLatitudequantitative | toLongitudequantitative | toLatitudequantitative |
|---|---|---|---|---|---|---|---|---|---|
| point | 126.978 | 37.5665 | Seoul | 96 | 10 | — | — | — | — |
| point | -74.006 | 40.7128 | New York | 88 | 9 | — | — | — | — |
| point | 151.2093 | -33.8688 | Sydney | 74 | 8 | — | — | — | — |
| point | 2.3522 | 48.8566 | Paris | 82 | 8 | — | — | — | — |
| point | 18.4241 | -33.9249 | Cape Town | 69 | 7 | — | — | — | — |
| point | -46.6333 | -23.5505 | São Paulo | 77 | 8 | — | — | — | — |
| route | — | — | Seoul–New York | — | — | 126.978 | 37.5665 | -74.006 | 40.7128 |
| route | — | — | Seoul–Sydney | — | — | 126.978 | 37.5665 | 151.2093 | -33.8688 |
| route | — | — | New York–Paris | — | — | -74.006 | 40.7128 | 2.3522 | 48.8566 |
| route | — | — | Paris–Cape Town | — | — | 2.3522 | 48.8566 | 18.4241 | -33.9249 |
| route | — | — | São Paulo–Cape Town | — | — | -46.6333 | -23.5505 | 18.4241 | -33.9249 |
브라우저 API
const data = {
"points": [
{
"label": "Seoul",
"latitude": 37.5665,
"longitude": 126.978,
"size": 10,
"value": 96
},
{
"label": "New York",
"latitude": 40.7128,
"longitude": -74.006,
"size": 9,
"value": 88
},
{
"label": "Sydney",
"latitude": -33.8688,
"longitude": 151.2093,
"size": 8,
"value": 74
},
{
"label": "Paris",
"latitude": 48.8566,
"longitude": 2.3522,
"size": 8,
"value": 82
},
{
"label": "Cape Town",
"latitude": -33.9249,
"longitude": 18.4241,
"size": 7,
"value": 69
},
{
"label": "São Paulo",
"latitude": -23.5505,
"longitude": -46.6333,
"size": 8,
"value": 77
}
],
"routes": [
{
"from": [
126.978,
37.5665
],
"label": "Seoul–New York",
"to": [
-74.006,
40.7128
]
},
{
"from": [
126.978,
37.5665
],
"label": "Seoul–Sydney",
"to": [
151.2093,
-33.8688
]
},
{
"from": [
-74.006,
40.7128
],
"label": "New York–Paris",
"to": [
2.3522,
48.8566
]
},
{
"from": [
2.3522,
48.8566
],
"label": "Paris–Cape Town",
"to": [
18.4241,
-33.9249
]
},
{
"from": [
-46.6333,
-23.5505
],
"label": "São Paulo–Cape Town",
"to": [
18.4241,
-33.9249
]
}
]
};
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"maxRows": 100,
"table": true
},
"ariaLabel": "Map · Natural Earth land and borders on a sphere with optional points and routes. · 차트 계열",
"basemap": "natural-earth",
"borderColor": "#d7e3d5",
"camera": {
"distance": 4.8,
"fov": 40,
"pitch": 0.38,
"yaw": 0.35
},
"create": {
"autoResize": true,
"height": 420
},
"graticule": false,
"id": "manual-map-globe",
"interaction": {
"controls": true,
"labels": {
"chart": "Map · Natural Earth land and borders on a sphere with optional points and routes. · 차트 계열",
"contextLost": "WebGL 연결이 중단되었습니다. 다시 시도해 차트를 복구해 주세요.",
"exportPng": "PNG 다운로드",
"fullscreen": "전체 화면 열기 / 전체 화면 닫기",
"hideAnnotations": "설명 말풍선 숨기기",
"instructions": "Tab으로 조작부를 이동하고 Enter 또는 Space로 실행하세요. 차트에 초점이 있을 때 더하기·빼기 키로 확대·축소하고 화살표 키로 이동할 수 있습니다.",
"orbit": "차트 조작 · 3D ⟳",
"pan": "차트 조작 · 3D ↔",
"projection": "차트 조작 · 3D ◇",
"reset": "보기 초기화",
"showAnnotations": "설명 말풍선 표시",
"toolbar": "차트 조작",
"unavailable": "이 환경에서는 WebGL을 사용할 수 없어 3D 차트를 표시할 수 없습니다.",
"zoomIn": "확대",
"zoomOut": "축소"
},
"orbit": true,
"pan": true,
"picking": true,
"tooltip": {
"fields": [
"kind",
"longitude",
"latitude",
"label",
"value",
"size",
"fromLongitude",
"fromLatitude",
"toLongitude",
"toLatitude"
],
"title": "Map · Natural Earth land and borders on a sphere with optional points and routes."
},
"wheel": "modifier",
"zoom": true
},
"landColor": "#79a78d",
"lighting": {
"ambient": 0.48,
"diffuse": 0.86,
"direction": [
-0.45,
0.82,
0.62
]
},
"oceanColor": "#0b2a4a",
"pointColor": "#fb7185",
"routeColor": "#fbbf24",
"theme": "graflume-light",
"title": "Map · Natural Earth land and borders on a sphere with optional points and routes."
};
GraflumeSpatial.globe('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"maxRows": 100,
"table": true
},
"ariaLabel": "Map · Natural Earth land and borders on a sphere with optional points and routes. · 차트 계열",
"basemap": "natural-earth",
"borderColor": "#d7e3d5",
"camera": {
"distance": 4.8,
"fov": 40,
"pitch": 0.38,
"yaw": 0.35
},
"create": {
"autoResize": true,
"height": 420
},
"graticule": false,
"id": "manual-map-globe",
"interaction": {
"controls": true,
"labels": {
"chart": "Map · Natural Earth land and borders on a sphere with optional points and routes. · 차트 계열",
"contextLost": "WebGL 연결이 중단되었습니다. 다시 시도해 차트를 복구해 주세요.",
"exportPng": "PNG 다운로드",
"fullscreen": "전체 화면 열기 / 전체 화면 닫기",
"hideAnnotations": "설명 말풍선 숨기기",
"instructions": "Tab으로 조작부를 이동하고 Enter 또는 Space로 실행하세요. 차트에 초점이 있을 때 더하기·빼기 키로 확대·축소하고 화살표 키로 이동할 수 있습니다.",
"orbit": "차트 조작 · 3D ⟳",
"pan": "차트 조작 · 3D ↔",
"projection": "차트 조작 · 3D ◇",
"reset": "보기 초기화",
"showAnnotations": "설명 말풍선 표시",
"toolbar": "차트 조작",
"unavailable": "이 환경에서는 WebGL을 사용할 수 없어 3D 차트를 표시할 수 없습니다.",
"zoomIn": "확대",
"zoomOut": "축소"
},
"orbit": true,
"pan": true,
"picking": true,
"tooltip": {
"fields": [
"kind",
"longitude",
"latitude",
"label",
"value",
"size",
"fromLongitude",
"fromLatitude",
"toLongitude",
"toLatitude"
],
"title": "Map · Natural Earth land and borders on a sphere with optional points and routes."
},
"wheel": "modifier",
"zoom": true
},
"landColor": "#79a78d",
"lighting": {
"ambient": 0.48,
"diffuse": 0.86,
"direction": [
-0.45,
0.82,
0.62
]
},
"oceanColor": "#0b2a4a",
"pointColor": "#fb7185",
"routeColor": "#fbbf24",
"theme": "graflume-light",
"title": "Map · Natural Earth land and borders on a sphere with optional points and routes."
}ISO alpha-2 또는 소스 별칭으로 국가 하나를 선택하고, 1:10m 경계를 화면에 맞춰 상세하게 표시합니다.
상태불러오는 중
country-focus행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
countryCodeordinal | namenominal | valuequantitative |
|---|---|---|
| KR | South Korea | 92 |
Map · boundary scope
국가와 그 국가의 주요 행정구역을 검색해 여러 개 선택하고, 필요한 경계 조각만 지연 로딩해 한 지도에 적용합니다.
natural-earth-admin-0-admin-1-10m · 1:10m
경계 표시 원칙 Natural Earth의 de facto 경계 정책을 따르는 통계용 참고 지도이며, 법적 권위나 모든 정치적 주장에 대한 합의를 뜻하지 않습니다.
브라우저 API
const data = [
{
"countryCode": "KR",
"name": "South Korea",
"value": 92
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 한 국가 상세 보기 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 한 국가 상세 보기",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "countryCode",
"featureKey": "countryCode"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "high",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"labels": {
"collision": "hide",
"field": "name",
"fontSize": 10,
"latitudeField": "labelLatitude",
"longitudeField": "labelLongitude",
"maximum": 120,
"padding": 3
},
"mapScope": {
"empty": "error",
"level": "country",
"property": "countryCode",
"unmatched": "error",
"values": [
"KR"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "ISO alpha-2 또는 소스 별칭으로 국가 하나를 선택하고, 1:10m 경계를 화면에 맞춰 상세하게 표시합니다.",
"text": "Map · 한 국가 상세 보기"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
};
Graflume.map('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 한 국가 상세 보기 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 한 국가 상세 보기",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "countryCode",
"featureKey": "countryCode"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "high",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"labels": {
"collision": "hide",
"field": "name",
"fontSize": 10,
"latitudeField": "labelLatitude",
"longitudeField": "labelLongitude",
"maximum": 120,
"padding": 3
},
"mapScope": {
"empty": "error",
"level": "country",
"property": "countryCode",
"unmatched": "error",
"values": [
"KR"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "ISO alpha-2 또는 소스 별칭으로 국가 하나를 선택하고, 1:10m 경계를 화면에 맞춰 상세하게 표시합니다.",
"text": "Map · 한 국가 상세 보기"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
}서로 떨어진 국가를 두 개 이상, 최대 50,000개 선택값 범위에서 함께 선택하고 선택 범위 전체를 자동 맞춤합니다.
상태불러오는 중
multi-country행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
countryCodeordinal | namenominal | valuequantitative |
|---|---|---|
| KR | South Korea | 92 |
| JP | Japan | 86 |
| US | United States | 81 |
| CA | Canada | 74 |
| BR | Brazil | 77 |
| ZA | South Africa | 69 |
| FR | France | 83 |
| AU | Australia | 79 |
Map · boundary scope
국가와 그 국가의 주요 행정구역을 검색해 여러 개 선택하고, 필요한 경계 조각만 지연 로딩해 한 지도에 적용합니다.
natural-earth-admin-0-admin-1-10m · 1:10m
경계 표시 원칙 Natural Earth의 de facto 경계 정책을 따르는 통계용 참고 지도이며, 법적 권위나 모든 정치적 주장에 대한 합의를 뜻하지 않습니다.
브라우저 API
const data = [
{
"countryCode": "KR",
"name": "South Korea",
"value": 92
},
{
"countryCode": "JP",
"name": "Japan",
"value": 86
},
{
"countryCode": "US",
"name": "United States",
"value": 81
},
{
"countryCode": "CA",
"name": "Canada",
"value": 74
},
{
"countryCode": "BR",
"name": "Brazil",
"value": 77
},
{
"countryCode": "ZA",
"name": "South Africa",
"value": 69
},
{
"countryCode": "FR",
"name": "France",
"value": 83
},
{
"countryCode": "AU",
"name": "Australia",
"value": 79
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 여러 국가 함께 보기 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 여러 국가 함께 보기",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "countryCode",
"featureKey": "countryCode"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "auto",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"labels": {
"collision": "hide",
"field": "name",
"fontSize": 10,
"latitudeField": "labelLatitude",
"longitudeField": "labelLongitude",
"maximum": 120,
"padding": 3
},
"mapScope": {
"empty": "error",
"level": "country",
"property": "countryCode",
"unmatched": "error",
"values": [
"KR",
"JP",
"US",
"CA",
"BR",
"ZA",
"FR",
"AU"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "서로 떨어진 국가를 두 개 이상, 최대 50,000개 선택값 범위에서 함께 선택하고 선택 범위 전체를 자동 맞춤합니다.",
"text": "Map · 여러 국가 함께 보기"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
};
Graflume.map('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 여러 국가 함께 보기 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 여러 국가 함께 보기",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "countryCode",
"featureKey": "countryCode"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "auto",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"labels": {
"collision": "hide",
"field": "name",
"fontSize": 10,
"latitudeField": "labelLatitude",
"longitudeField": "labelLongitude",
"maximum": 120,
"padding": 3
},
"mapScope": {
"empty": "error",
"level": "country",
"property": "countryCode",
"unmatched": "error",
"values": [
"KR",
"JP",
"US",
"CA",
"BR",
"ZA",
"FR",
"AU"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "서로 떨어진 국가를 두 개 이상, 최대 50,000개 선택값 범위에서 함께 선택하고 선택 범위 전체를 자동 맞춤합니다.",
"text": "Map · 여러 국가 함께 보기"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
}국가를 먼저 고른 뒤 해당 국가의 Natural Earth Admin-1 주요 행정구역을 검색하고, 지역 코드와 통계값을 정확히 결합합니다.
상태불러오는 중
principal-region행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
regionCodeordinal | countryCodeordinal | namenominal | valuequantitative |
|---|---|---|---|
| KR-11 | KR | Seoul | 96 |
| KR-26 | KR | Busan | 82 |
| KR-27 | KR | Daegu | 71 |
| KR-28 | KR | Incheon | 78 |
| KR-29 | KR | Gwangju | 66 |
| KR-30 | KR | Daejeon | 74 |
| KR-31 | KR | Ulsan | 68 |
| KR-41 | KR | Gyeonggi | 89 |
Map · boundary scope
국가와 그 국가의 주요 행정구역을 검색해 여러 개 선택하고, 필요한 경계 조각만 지연 로딩해 한 지도에 적용합니다.
natural-earth-admin-0-admin-1-10m · 1:10m
경계 표시 원칙 Natural Earth의 de facto 경계 정책을 따르는 통계용 참고 지도이며, 법적 권위나 모든 정치적 주장에 대한 합의를 뜻하지 않습니다.
브라우저 API
const data = [
{
"countryCode": "KR",
"name": "Seoul",
"regionCode": "KR-11",
"value": 96
},
{
"countryCode": "KR",
"name": "Busan",
"regionCode": "KR-26",
"value": 82
},
{
"countryCode": "KR",
"name": "Daegu",
"regionCode": "KR-27",
"value": 71
},
{
"countryCode": "KR",
"name": "Incheon",
"regionCode": "KR-28",
"value": 78
},
{
"countryCode": "KR",
"name": "Gwangju",
"regionCode": "KR-29",
"value": 66
},
{
"countryCode": "KR",
"name": "Daejeon",
"regionCode": "KR-30",
"value": 74
},
{
"countryCode": "KR",
"name": "Ulsan",
"regionCode": "KR-31",
"value": 68
},
{
"countryCode": "KR",
"name": "Gyeonggi",
"regionCode": "KR-41",
"value": 89
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 한 국가의 주요 행정구역 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "regionCode",
"format": "auto",
"label": "RegionCode"
},
{
"field": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 한 국가의 주요 행정구역",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "regionCode",
"featureKey": "$id"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "high",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"labels": {
"collision": "hide",
"field": "name",
"fontSize": 10,
"latitudeField": "labelLatitude",
"longitudeField": "labelLongitude",
"maximum": 120,
"padding": 3
},
"mapScope": {
"empty": "error",
"level": "region",
"parentProperty": "countryCode",
"parentValues": [
"KR"
],
"property": "$id",
"unmatched": "error",
"values": [
"KR-11",
"KR-26",
"KR-27",
"KR-28",
"KR-29",
"KR-30",
"KR-31",
"KR-41"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "국가를 먼저 고른 뒤 해당 국가의 Natural Earth Admin-1 주요 행정구역을 검색하고, 지역 코드와 통계값을 정확히 결합합니다.",
"text": "Map · 한 국가의 주요 행정구역"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
};
Graflume.map('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 한 국가의 주요 행정구역 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "regionCode",
"format": "auto",
"label": "RegionCode"
},
{
"field": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 한 국가의 주요 행정구역",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "regionCode",
"featureKey": "$id"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "high",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"labels": {
"collision": "hide",
"field": "name",
"fontSize": 10,
"latitudeField": "labelLatitude",
"longitudeField": "labelLongitude",
"maximum": 120,
"padding": 3
},
"mapScope": {
"empty": "error",
"level": "region",
"parentProperty": "countryCode",
"parentValues": [
"KR"
],
"property": "$id",
"unmatched": "error",
"values": [
"KR-11",
"KR-26",
"KR-27",
"KR-28",
"KR-29",
"KR-30",
"KR-31",
"KR-41"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "국가를 먼저 고른 뒤 해당 국가의 Natural Earth Admin-1 주요 행정구역을 검색하고, 지역 코드와 통계값을 정확히 결합합니다.",
"text": "Map · 한 국가의 주요 행정구역"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
}같은 국가 또는 여러 국가에서 두 개 이상의 지역을 선택해 하나의 지도 범위와 색상척도에서 비교합니다.
상태불러오는 중
multi-region행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
regionCodeordinal | countryCodeordinal | namenominal | valuequantitative |
|---|---|---|---|
| KR-11 | KR | Seoul | 96 |
| KR-26 | KR | Busan | 82 |
| KR-27 | KR | Daegu | 71 |
| KR-28 | KR | Incheon | 78 |
| KR-29 | KR | Gwangju | 66 |
| KR-30 | KR | Daejeon | 74 |
| KR-31 | KR | Ulsan | 68 |
| KR-41 | KR | Gyeonggi | 89 |
Map · boundary scope
국가와 그 국가의 주요 행정구역을 검색해 여러 개 선택하고, 필요한 경계 조각만 지연 로딩해 한 지도에 적용합니다.
natural-earth-admin-0-admin-1-10m · 1:10m
경계 표시 원칙 Natural Earth의 de facto 경계 정책을 따르는 통계용 참고 지도이며, 법적 권위나 모든 정치적 주장에 대한 합의를 뜻하지 않습니다.
브라우저 API
const data = [
{
"countryCode": "KR",
"name": "Seoul",
"regionCode": "KR-11",
"value": 96
},
{
"countryCode": "KR",
"name": "Busan",
"regionCode": "KR-26",
"value": 82
},
{
"countryCode": "KR",
"name": "Daegu",
"regionCode": "KR-27",
"value": 71
},
{
"countryCode": "KR",
"name": "Incheon",
"regionCode": "KR-28",
"value": 78
},
{
"countryCode": "KR",
"name": "Gwangju",
"regionCode": "KR-29",
"value": 66
},
{
"countryCode": "KR",
"name": "Daejeon",
"regionCode": "KR-30",
"value": 74
},
{
"countryCode": "KR",
"name": "Ulsan",
"regionCode": "KR-31",
"value": 68
},
{
"countryCode": "KR",
"name": "Gyeonggi",
"regionCode": "KR-41",
"value": 89
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 여러 지역 함께 보기 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "regionCode",
"format": "auto",
"label": "RegionCode"
},
{
"field": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 여러 지역 함께 보기",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "regionCode",
"featureKey": "$id"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "auto",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"labels": {
"collision": "hide",
"field": "name",
"fontSize": 10,
"latitudeField": "labelLatitude",
"longitudeField": "labelLongitude",
"maximum": 120,
"padding": 3
},
"mapScope": {
"empty": "error",
"level": "region",
"parentProperty": "countryCode",
"parentValues": [
"KR"
],
"property": "$id",
"unmatched": "error",
"values": [
"KR-11",
"KR-26",
"KR-28",
"KR-41"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "같은 국가 또는 여러 국가에서 두 개 이상의 지역을 선택해 하나의 지도 범위와 색상척도에서 비교합니다.",
"text": "Map · 여러 지역 함께 보기"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
};
Graflume.map('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 여러 지역 함께 보기 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "regionCode",
"format": "auto",
"label": "RegionCode"
},
{
"field": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 여러 지역 함께 보기",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "regionCode",
"featureKey": "$id"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "auto",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"labels": {
"collision": "hide",
"field": "name",
"fontSize": 10,
"latitudeField": "labelLatitude",
"longitudeField": "labelLongitude",
"maximum": 120,
"padding": 3
},
"mapScope": {
"empty": "error",
"level": "region",
"parentProperty": "countryCode",
"parentValues": [
"KR"
],
"property": "$id",
"unmatched": "error",
"values": [
"KR-11",
"KR-26",
"KR-28",
"KR-41"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "같은 국가 또는 여러 국가에서 두 개 이상의 지역을 선택해 하나의 지도 범위와 색상척도에서 비교합니다.",
"text": "Map · 여러 지역 함께 보기"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
}완전한 국가 경계와 선택한 세부 지역 경계를 한 컬렉션으로 결합해 국가·지역 수준을 함께 비교합니다.
상태불러오는 중
mixed-selection행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
regionCodeordinal | countryCodeordinal | namenominal | valuequantitative |
|---|---|---|---|
| JP | JP | Japan | 86 |
| AU | AU | Australia | 79 |
| KR-11 | KR | Seoul | 96 |
| KR-26 | KR | Busan | 82 |
| KR-41 | KR | Gyeonggi | 89 |
Map · boundary scope
국가와 그 국가의 주요 행정구역을 검색해 여러 개 선택하고, 필요한 경계 조각만 지연 로딩해 한 지도에 적용합니다.
natural-earth-admin-0-admin-1-10m · 1:10m
경계 표시 원칙 Natural Earth의 de facto 경계 정책을 따르는 통계용 참고 지도이며, 법적 권위나 모든 정치적 주장에 대한 합의를 뜻하지 않습니다.
브라우저 API
const data = [
{
"countryCode": "JP",
"name": "Japan",
"regionCode": "JP",
"value": 86
},
{
"countryCode": "AU",
"name": "Australia",
"regionCode": "AU",
"value": 79
},
{
"countryCode": "KR",
"name": "Seoul",
"regionCode": "KR-11",
"value": 96
},
{
"countryCode": "KR",
"name": "Busan",
"regionCode": "KR-26",
"value": 82
},
{
"countryCode": "KR",
"name": "Gyeonggi",
"regionCode": "KR-41",
"value": 89
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 국가·지역 혼합 선택 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "regionCode",
"format": "auto",
"label": "RegionCode"
},
{
"field": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 국가·지역 혼합 선택",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "regionCode",
"featureKey": "$id"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "auto",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"labels": {
"collision": "hide",
"field": "name",
"fontSize": 10,
"latitudeField": "labelLatitude",
"longitudeField": "labelLongitude",
"maximum": 120,
"padding": 3
},
"mapScope": {
"empty": "error",
"level": "feature",
"property": "$id",
"unmatched": "error",
"values": [
"JP",
"AU",
"KR-11",
"KR-26",
"KR-41"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "완전한 국가 경계와 선택한 세부 지역 경계를 한 컬렉션으로 결합해 국가·지역 수준을 함께 비교합니다.",
"text": "Map · 국가·지역 혼합 선택"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
};
Graflume.map('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 국가·지역 혼합 선택 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "regionCode",
"format": "auto",
"label": "RegionCode"
},
{
"field": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 국가·지역 혼합 선택",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "regionCode",
"featureKey": "$id"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "auto",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"labels": {
"collision": "hide",
"field": "name",
"fontSize": 10,
"latitudeField": "labelLatitude",
"longitudeField": "labelLongitude",
"maximum": 120,
"padding": 3
},
"mapScope": {
"empty": "error",
"level": "feature",
"property": "$id",
"unmatched": "error",
"values": [
"JP",
"AU",
"KR-11",
"KR-26",
"KR-41"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "완전한 국가 경계와 선택한 세부 지역 경계를 한 컬렉션으로 결합해 국가·지역 수준을 함께 비교합니다.",
"text": "Map · 국가·지역 혼합 선택"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
}고정된 Natural Earth 소스 리비전에서 ISO 3166-1 249개 엔터티, XK, 소스 추가 엔터티와 모든 Admin-1 원본 피처를 색인한 범위를 확인합니다.
상태불러오는 중
world-catalog행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
countryCodeordinal | namenominal | valuequantitative |
|---|---|---|
| KR | South Korea | 92 |
| JP | Japan | 86 |
| US | United States | 81 |
| CA | Canada | 74 |
Map · boundary scope
국가와 그 국가의 주요 행정구역을 검색해 여러 개 선택하고, 필요한 경계 조각만 지연 로딩해 한 지도에 적용합니다.
natural-earth-admin-0-admin-1-10m · 1:10m
경계 표시 원칙 Natural Earth의 de facto 경계 정책을 따르는 통계용 참고 지도이며, 법적 권위나 모든 정치적 주장에 대한 합의를 뜻하지 않습니다.
브라우저 API
const data = [
{
"countryCode": "KR",
"name": "South Korea",
"value": 92
},
{
"countryCode": "JP",
"name": "Japan",
"value": 86
},
{
"countryCode": "US",
"name": "United States",
"value": 81
},
{
"countryCode": "CA",
"name": "Canada",
"value": 74
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 세계 상세 카탈로그와 출처 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 세계 상세 카탈로그와 출처",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "countryCode",
"featureKey": "countryCode"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "auto",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"mapScope": {
"empty": "error",
"level": "country",
"property": "countryCode",
"unmatched": "error",
"values": [
"KR",
"JP",
"US",
"BR"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "고정된 Natural Earth 소스 리비전에서 ISO 3166-1 249개 엔터티, XK, 소스 추가 엔터티와 모든 Admin-1 원본 피처를 색인한 범위를 확인합니다.",
"text": "Map · 세계 상세 카탈로그와 출처"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
};
Graflume.map('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 세계 상세 카탈로그와 출처 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 세계 상세 카탈로그와 출처",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "countryCode",
"featureKey": "countryCode"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "auto",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"mapScope": {
"empty": "error",
"level": "country",
"property": "countryCode",
"unmatched": "error",
"values": [
"KR",
"JP",
"US",
"BR"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "고정된 Natural Earth 소스 리비전에서 ISO 3166-1 249개 엔터티, XK, 소스 추가 엔터티와 모든 Admin-1 원본 피처를 색인한 범위를 확인합니다.",
"text": "Map · 세계 상세 카탈로그와 출처"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
}선택 범위에 맞춰 중심과 배율을 계산하고, 화면·기하 예산에 따라 상세도를 조절하며 라벨 충돌을 자동으로 숨깁니다.
상태불러오는 중
fit-detail-labels행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
regionCodeordinal | countryCodeordinal | namenominal | valuequantitative |
|---|---|---|---|
| KR-11 | KR | Seoul | 96 |
| KR-26 | KR | Busan | 82 |
| KR-27 | KR | Daegu | 71 |
| KR-28 | KR | Incheon | 78 |
Map · boundary scope
국가와 그 국가의 주요 행정구역을 검색해 여러 개 선택하고, 필요한 경계 조각만 지연 로딩해 한 지도에 적용합니다.
natural-earth-admin-0-admin-1-10m · 1:10m
경계 표시 원칙 Natural Earth의 de facto 경계 정책을 따르는 통계용 참고 지도이며, 법적 권위나 모든 정치적 주장에 대한 합의를 뜻하지 않습니다.
브라우저 API
const data = [
{
"countryCode": "KR",
"name": "Seoul",
"regionCode": "KR-11",
"value": 96
},
{
"countryCode": "KR",
"name": "Busan",
"regionCode": "KR-26",
"value": 82
},
{
"countryCode": "KR",
"name": "Daegu",
"regionCode": "KR-27",
"value": 71
},
{
"countryCode": "KR",
"name": "Incheon",
"regionCode": "KR-28",
"value": 78
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 자동 맞춤·상세도·라벨 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "regionCode",
"format": "auto",
"label": "RegionCode"
},
{
"field": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 자동 맞춤·상세도·라벨",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "regionCode",
"featureKey": "$id"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "auto",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"labels": {
"collision": "hide",
"field": "name",
"fontSize": 10,
"latitudeField": "labelLatitude",
"longitudeField": "labelLongitude",
"maximum": 120,
"padding": 3
},
"mapScope": {
"empty": "error",
"level": "region",
"parentProperty": "countryCode",
"parentValues": [
"KR"
],
"property": "$id",
"unmatched": "error",
"values": [
"KR-11",
"KR-26",
"KR-28",
"KR-41"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "선택 범위에 맞춰 중심과 배율을 계산하고, 화면·기하 예산에 따라 상세도를 조절하며 라벨 충돌을 자동으로 숨깁니다.",
"text": "Map · 자동 맞춤·상세도·라벨"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"type": "quantitative"
}
};
Graflume.map('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Map · 자동 맞춤·상세도·라벨 example"
},
"axes": {
"x": false,
"y": false
},
"basemap": "natural-earth",
"graticule": 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": "regionCode",
"format": "auto",
"label": "RegionCode"
},
{
"field": "countryCode",
"format": "auto",
"label": "CountryCode"
},
{
"field": "name",
"format": "auto",
"label": "이름"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Map · 자동 맞춤·상세도·라벨",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"color": "value",
"dataKey": "regionCode",
"featureKey": "$id"
},
"options": {
"basemap": "natural-earth",
"fit": true,
"fitPadding": 28,
"geometryBudget": 240000,
"geometryDetail": "auto",
"graticule": false,
"joinDuplicate": "error",
"joinUnmatched": "show",
"labels": {
"collision": "hide",
"field": "name",
"fontSize": 10,
"latitudeField": "labelLatitude",
"longitudeField": "labelLongitude",
"maximum": 120,
"padding": 3
},
"mapScope": {
"empty": "error",
"level": "region",
"parentProperty": "countryCode",
"parentValues": [
"KR"
],
"property": "$id",
"unmatched": "error",
"values": [
"KR-11",
"KR-26",
"KR-28",
"KR-41"
]
},
"maximumFeatures": 50000
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "선택 범위에 맞춰 중심과 배율을 계산하고, 화면·기하 예산에 따라 상세도를 조절하며 라벨 충돌을 자동으로 숨깁니다.",
"text": "Map · 자동 맞춤·상세도·라벨"
},
"width": "container",
"x": {
"field": "countryCode",
"title": "countryCode",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "value",
"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.
9 modes · 7 compatibility identifiers
| ID | Name | Quick API | mode | mark | renderer |
|---|---|---|---|---|---|
geo | Geographic region chart | geo() | region | geo | canvas |
map | Map | map() | default | map | canvas |
flow-map | Flow map | flowMap() | flow-map | geo-flow | canvas |
geo-heatmap | Geographic heatmap | geoHeatmap() | geo-heatmap | geo-heatmap | canvas |
map-bubble | Map bubble chart | mapBubble() | map-bubble | map | canvas |
map-line | Map line chart | mapLine() | map-line | geo-line | canvas |
map-point | Map point chart | mapPoint() | map-point | map | canvas |
tiled-map deprecated → map | Tiled map | tiledMap() | tiled-map | tiled-map | canvas |
globe | Natural Earth land and borders on a sphere with optional points and routes. | globe() | globe | globe | webgl |
| Identifier | Canonical mode ID |
|---|---|
flowmap | flow-map |
geoheatmap | geo-heatmap |
map | map |
mapbubble | map-bubble |
mapline | map-line |
mappoint | map-point |
tiledwebmap | tiled-map |
매뉴얼
ARIA · table fallbackCanvas ARIA 메타데이터에 텍스트 요약과 표 대체 표현을 함께 제공합니다.
standard · large · ultrastandard·large·ultra 프로필은 렌더링 작업량을 제한합니다.