Graflume · Alpha
Scatter matrix · 기본 구현 · 공통 기능
여러 수치 차원의 모든 쌍을 산점 셀로, 각 차원의 분포를 대각선 히스토그램으로 비교합니다. 필수 데이터와 차트 고유 인코딩만 사용한 출발점입니다. 아래 코드를 펼치면 그대로 실행할 수 있습니다. 기능 탭을 선택해 헤더, 도구 설명, 테마, 범례, 강조, 말풍선, 선택, 화면 제어와 접근성을 하나씩 적용한 결과와 코드를 비교하세요.
차트 계열 · 고급 차트 계열
Scatter matrix
여러 수치 차원의 모든 쌍을 산점 셀로, 각 차원의 분포를 대각선 히스토그램으로 비교합니다.
- Quick API
scatterMatrix()- 브라우저 스냅샷
graflume/complete- mark
scatter-matrix- 프리셋
- 1
기본 구현
가장 단순한 차트
필수 데이터와 차트 고유 인코딩만 사용한 출발점입니다. 아래 코드를 펼치면 그대로 실행할 수 있습니다.
기본 예제
여러 수치 차원의 모든 쌍을 산점 셀로, 각 차원의 분포를 대각선 히스토그램으로 비교합니다.
상태불러오는 중
minimal-implementation
불러오는 중
기본 예제 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
speedquantitative | qualityquantitative | costquantitative |
|---|---|---|
| 61 | 75 | 82 |
| 67.65 | 75.07 | 82.79 |
| 71.88 | 73.38 | 83.22 |
| 72.41 | 70.75 | 83.01 |
| 69.68 | 68.28 | 81.97 |
| 65.69 | 67.03 | 80.07 |
| 63.03 | 67.69 | 77.41 |
| 63.64 | 70.38 | 74.25 |
| 67.95 | 74.65 | 70.92 |
| 74.63 | 79.55 | 67.77 |
| 81.26 | 83.96 | 65.14 |
| 85.41 | 86.91 | 63.27 |
| 85.84 | 87.85 | 62.27 |
| 83.05 | 86.83 | 62.08 |
| 79.07 | 84.47 | 62.54 |
| 76.46 | 81.8 | 63.33 |
| 77.17 | 79.92 | 64.12 |
| 81.55 | 79.72 | 64.53 |
브라우저 API · 이식 가능한 스키마
브라우저 API
Graflume.scatterMatrix()
const data = [
{
"cost": 82,
"name": "Aurora · Seoul",
"quality": 75,
"region": "Seoul",
"speed": 61,
"train": "Aurora"
},
{
"cost": 82.79,
"name": "Aurora · Paris",
"quality": 75.07,
"region": "Paris",
"speed": 67.65,
"train": "Aurora"
},
{
"cost": 83.22,
"name": "Aurora · Austin",
"quality": 73.38,
"region": "Austin",
"speed": 71.88,
"train": "Aurora"
},
{
"cost": 83.01,
"name": "Beacon · Seoul",
"quality": 70.75,
"region": "Seoul",
"speed": 72.41,
"train": "Beacon"
},
{
"cost": 81.97,
"name": "Beacon · Paris",
"quality": 68.28,
"region": "Paris",
"speed": 69.68,
"train": "Beacon"
},
{
"cost": 80.07,
"name": "Beacon · Austin",
"quality": 67.03,
"region": "Austin",
"speed": 65.69,
"train": "Beacon"
},
{
"cost": 77.41,
"name": "Cinder · Seoul",
"quality": 67.69,
"region": "Seoul",
"speed": 63.03,
"train": "Cinder"
},
{
"cost": 74.25,
"name": "Cinder · Paris",
"quality": 70.38,
"region": "Paris",
"speed": 63.64,
"train": "Cinder"
},
{
"cost": 70.92,
"name": "Cinder · Austin",
"quality": 74.65,
"region": "Austin",
"speed": 67.95,
"train": "Cinder"
},
{
"cost": 67.77,
"name": "Delta · Seoul",
"quality": 79.55,
"region": "Seoul",
"speed": 74.63,
"train": "Delta"
},
{
"cost": 65.14,
"name": "Delta · Paris",
"quality": 83.96,
"region": "Paris",
"speed": 81.26,
"train": "Delta"
},
{
"cost": 63.27,
"name": "Delta · Austin",
"quality": 86.91,
"region": "Austin",
"speed": 85.41,
"train": "Delta"
},
{
"cost": 62.27,
"name": "Ember · Seoul",
"quality": 87.85,
"region": "Seoul",
"speed": 85.84,
"train": "Ember"
},
{
"cost": 62.08,
"name": "Ember · Paris",
"quality": 86.83,
"region": "Paris",
"speed": 83.05,
"train": "Ember"
},
{
"cost": 62.54,
"name": "Ember · Austin",
"quality": 84.47,
"region": "Austin",
"speed": 79.07,
"train": "Ember"
},
{
"cost": 63.33,
"name": "Fjord · Seoul",
"quality": 81.8,
"region": "Seoul",
"speed": 76.46,
"train": "Fjord"
},
{
"cost": 64.12,
"name": "Fjord · Paris",
"quality": 79.92,
"region": "Paris",
"speed": 77.17,
"train": "Fjord"
},
{
"cost": 64.53,
"name": "Fjord · Austin",
"quality": 79.72,
"region": "Austin",
"speed": 81.55,
"train": "Fjord"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
};
Graflume.scatterMatrix('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
}공통 기능
모든 차트에서 사용하는 기능
기능 탭을 선택해 헤더, 도구 설명, 테마, 범례, 강조, 말풍선, 선택, 화면 제어와 접근성을 하나씩 적용한 결과와 코드를 비교하세요. 데이터 표식 위에 마우스를 올리세요. 지원하는 차트에서는 축을 따라 커서를 움직이면 가장 가까운 값을 볼 수 있습니다. 모든 정확한 값은 아래 표에서 확인할 수 있습니다.
헤더
차트 안에 제목과 보조 설명을 넣어 무엇을 보여주는지 먼저 밝힙니다.
상태불러오는 중
header
불러오는 중
헤더 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
speedquantitative | qualityquantitative | costquantitative |
|---|---|---|
| 61 | 75 | 82 |
| 67.65 | 75.07 | 82.79 |
| 71.88 | 73.38 | 83.22 |
| 72.41 | 70.75 | 83.01 |
| 69.68 | 68.28 | 81.97 |
| 65.69 | 67.03 | 80.07 |
| 63.03 | 67.69 | 77.41 |
| 63.64 | 70.38 | 74.25 |
| 67.95 | 74.65 | 70.92 |
| 74.63 | 79.55 | 67.77 |
| 81.26 | 83.96 | 65.14 |
| 85.41 | 86.91 | 63.27 |
| 85.84 | 87.85 | 62.27 |
| 83.05 | 86.83 | 62.08 |
| 79.07 | 84.47 | 62.54 |
| 76.46 | 81.8 | 63.33 |
| 77.17 | 79.92 | 64.12 |
| 81.55 | 79.72 | 64.53 |
브라우저 API · 이식 가능한 스키마
브라우저 API
Graflume.scatterMatrix()
const data = [
{
"cost": 82,
"name": "Aurora · Seoul",
"quality": 75,
"region": "Seoul",
"speed": 61,
"train": "Aurora"
},
{
"cost": 82.79,
"name": "Aurora · Paris",
"quality": 75.07,
"region": "Paris",
"speed": 67.65,
"train": "Aurora"
},
{
"cost": 83.22,
"name": "Aurora · Austin",
"quality": 73.38,
"region": "Austin",
"speed": 71.88,
"train": "Aurora"
},
{
"cost": 83.01,
"name": "Beacon · Seoul",
"quality": 70.75,
"region": "Seoul",
"speed": 72.41,
"train": "Beacon"
},
{
"cost": 81.97,
"name": "Beacon · Paris",
"quality": 68.28,
"region": "Paris",
"speed": 69.68,
"train": "Beacon"
},
{
"cost": 80.07,
"name": "Beacon · Austin",
"quality": 67.03,
"region": "Austin",
"speed": 65.69,
"train": "Beacon"
},
{
"cost": 77.41,
"name": "Cinder · Seoul",
"quality": 67.69,
"region": "Seoul",
"speed": 63.03,
"train": "Cinder"
},
{
"cost": 74.25,
"name": "Cinder · Paris",
"quality": 70.38,
"region": "Paris",
"speed": 63.64,
"train": "Cinder"
},
{
"cost": 70.92,
"name": "Cinder · Austin",
"quality": 74.65,
"region": "Austin",
"speed": 67.95,
"train": "Cinder"
},
{
"cost": 67.77,
"name": "Delta · Seoul",
"quality": 79.55,
"region": "Seoul",
"speed": 74.63,
"train": "Delta"
},
{
"cost": 65.14,
"name": "Delta · Paris",
"quality": 83.96,
"region": "Paris",
"speed": 81.26,
"train": "Delta"
},
{
"cost": 63.27,
"name": "Delta · Austin",
"quality": 86.91,
"region": "Austin",
"speed": 85.41,
"train": "Delta"
},
{
"cost": 62.27,
"name": "Ember · Seoul",
"quality": 87.85,
"region": "Seoul",
"speed": 85.84,
"train": "Ember"
},
{
"cost": 62.08,
"name": "Ember · Paris",
"quality": 86.83,
"region": "Paris",
"speed": 83.05,
"train": "Ember"
},
{
"cost": 62.54,
"name": "Ember · Austin",
"quality": 84.47,
"region": "Austin",
"speed": 79.07,
"train": "Ember"
},
{
"cost": 63.33,
"name": "Fjord · Seoul",
"quality": 81.8,
"region": "Seoul",
"speed": 76.46,
"train": "Fjord"
},
{
"cost": 64.12,
"name": "Fjord · Paris",
"quality": 79.92,
"region": "Paris",
"speed": 77.17,
"train": "Fjord"
},
{
"cost": 64.53,
"name": "Fjord · Austin",
"quality": 79.72,
"region": "Austin",
"speed": 81.55,
"train": "Fjord"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"title": {
"subtitle": "Scatter matrix 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: up to eight dimensions · explicit dimension order.",
"text": "Scatter matrix"
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
};
Graflume.scatterMatrix('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"title": {
"subtitle": "Scatter matrix 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: up to eight dimensions · explicit dimension order.",
"text": "Scatter matrix"
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
}도구 설명
마크 또는 축을 가리키면 정확한 값을 보여줍니다. 날짜·시간은 locale, 형식과 시간대를 사용자가 선언형 옵션으로 정할 수 있습니다.
상태불러오는 중
tooltip
불러오는 중
도구 설명 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
speedquantitative | qualityquantitative | costquantitative |
|---|---|---|
| 61 | 75 | 82 |
| 67.65 | 75.07 | 82.79 |
| 71.88 | 73.38 | 83.22 |
| 72.41 | 70.75 | 83.01 |
| 69.68 | 68.28 | 81.97 |
| 65.69 | 67.03 | 80.07 |
| 63.03 | 67.69 | 77.41 |
| 63.64 | 70.38 | 74.25 |
| 67.95 | 74.65 | 70.92 |
| 74.63 | 79.55 | 67.77 |
| 81.26 | 83.96 | 65.14 |
| 85.41 | 86.91 | 63.27 |
| 85.84 | 87.85 | 62.27 |
| 83.05 | 86.83 | 62.08 |
| 79.07 | 84.47 | 62.54 |
| 76.46 | 81.8 | 63.33 |
| 77.17 | 79.92 | 64.12 |
| 81.55 | 79.72 | 64.53 |
브라우저 API · 이식 가능한 스키마
브라우저 API
Graflume.scatterMatrix()
const data = [
{
"cost": 82,
"name": "Aurora · Seoul",
"quality": 75,
"region": "Seoul",
"speed": 61,
"train": "Aurora"
},
{
"cost": 82.79,
"name": "Aurora · Paris",
"quality": 75.07,
"region": "Paris",
"speed": 67.65,
"train": "Aurora"
},
{
"cost": 83.22,
"name": "Aurora · Austin",
"quality": 73.38,
"region": "Austin",
"speed": 71.88,
"train": "Aurora"
},
{
"cost": 83.01,
"name": "Beacon · Seoul",
"quality": 70.75,
"region": "Seoul",
"speed": 72.41,
"train": "Beacon"
},
{
"cost": 81.97,
"name": "Beacon · Paris",
"quality": 68.28,
"region": "Paris",
"speed": 69.68,
"train": "Beacon"
},
{
"cost": 80.07,
"name": "Beacon · Austin",
"quality": 67.03,
"region": "Austin",
"speed": 65.69,
"train": "Beacon"
},
{
"cost": 77.41,
"name": "Cinder · Seoul",
"quality": 67.69,
"region": "Seoul",
"speed": 63.03,
"train": "Cinder"
},
{
"cost": 74.25,
"name": "Cinder · Paris",
"quality": 70.38,
"region": "Paris",
"speed": 63.64,
"train": "Cinder"
},
{
"cost": 70.92,
"name": "Cinder · Austin",
"quality": 74.65,
"region": "Austin",
"speed": 67.95,
"train": "Cinder"
},
{
"cost": 67.77,
"name": "Delta · Seoul",
"quality": 79.55,
"region": "Seoul",
"speed": 74.63,
"train": "Delta"
},
{
"cost": 65.14,
"name": "Delta · Paris",
"quality": 83.96,
"region": "Paris",
"speed": 81.26,
"train": "Delta"
},
{
"cost": 63.27,
"name": "Delta · Austin",
"quality": 86.91,
"region": "Austin",
"speed": 85.41,
"train": "Delta"
},
{
"cost": 62.27,
"name": "Ember · Seoul",
"quality": 87.85,
"region": "Seoul",
"speed": 85.84,
"train": "Ember"
},
{
"cost": 62.08,
"name": "Ember · Paris",
"quality": 86.83,
"region": "Paris",
"speed": 83.05,
"train": "Ember"
},
{
"cost": 62.54,
"name": "Ember · Austin",
"quality": 84.47,
"region": "Austin",
"speed": 79.07,
"train": "Ember"
},
{
"cost": 63.33,
"name": "Fjord · Seoul",
"quality": 81.8,
"region": "Seoul",
"speed": 76.46,
"train": "Fjord"
},
{
"cost": 64.12,
"name": "Fjord · Paris",
"quality": 79.92,
"region": "Paris",
"speed": 77.17,
"train": "Fjord"
},
{
"cost": 64.53,
"name": "Fjord · Austin",
"quality": 79.72,
"region": "Austin",
"speed": 81.55,
"train": "Fjord"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"hover": true,
"tooltip": {
"fields": [
{
"field": "speed",
"format": "number",
"label": "속도"
},
{
"field": "quality",
"format": "number",
"label": "품질"
},
{
"field": "cost",
"format": "number",
"label": "비용"
}
],
"title": "Scatter matrix · 도구 설명",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
};
Graflume.scatterMatrix('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"hover": true,
"tooltip": {
"fields": [
{
"field": "speed",
"format": "number",
"label": "속도"
},
{
"field": "quality",
"format": "number",
"label": "품질"
},
{
"field": "cost",
"format": "number",
"label": "비용"
}
],
"title": "Scatter matrix · 도구 설명",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
}테마
상단 선택기의 현재 내장 테마를 옵션에 적용하고 모든 활성 예제를 함께 갱신합니다.
상태불러오는 중
theme
불러오는 중
테마 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
speedquantitative | qualityquantitative | costquantitative |
|---|---|---|
| 61 | 75 | 82 |
| 67.65 | 75.07 | 82.79 |
| 71.88 | 73.38 | 83.22 |
| 72.41 | 70.75 | 83.01 |
| 69.68 | 68.28 | 81.97 |
| 65.69 | 67.03 | 80.07 |
| 63.03 | 67.69 | 77.41 |
| 63.64 | 70.38 | 74.25 |
| 67.95 | 74.65 | 70.92 |
| 74.63 | 79.55 | 67.77 |
| 81.26 | 83.96 | 65.14 |
| 85.41 | 86.91 | 63.27 |
| 85.84 | 87.85 | 62.27 |
| 83.05 | 86.83 | 62.08 |
| 79.07 | 84.47 | 62.54 |
| 76.46 | 81.8 | 63.33 |
| 77.17 | 79.92 | 64.12 |
| 81.55 | 79.72 | 64.53 |
브라우저 API · 이식 가능한 스키마
브라우저 API
Graflume.scatterMatrix()
const data = [
{
"cost": 82,
"name": "Aurora · Seoul",
"quality": 75,
"region": "Seoul",
"speed": 61,
"train": "Aurora"
},
{
"cost": 82.79,
"name": "Aurora · Paris",
"quality": 75.07,
"region": "Paris",
"speed": 67.65,
"train": "Aurora"
},
{
"cost": 83.22,
"name": "Aurora · Austin",
"quality": 73.38,
"region": "Austin",
"speed": 71.88,
"train": "Aurora"
},
{
"cost": 83.01,
"name": "Beacon · Seoul",
"quality": 70.75,
"region": "Seoul",
"speed": 72.41,
"train": "Beacon"
},
{
"cost": 81.97,
"name": "Beacon · Paris",
"quality": 68.28,
"region": "Paris",
"speed": 69.68,
"train": "Beacon"
},
{
"cost": 80.07,
"name": "Beacon · Austin",
"quality": 67.03,
"region": "Austin",
"speed": 65.69,
"train": "Beacon"
},
{
"cost": 77.41,
"name": "Cinder · Seoul",
"quality": 67.69,
"region": "Seoul",
"speed": 63.03,
"train": "Cinder"
},
{
"cost": 74.25,
"name": "Cinder · Paris",
"quality": 70.38,
"region": "Paris",
"speed": 63.64,
"train": "Cinder"
},
{
"cost": 70.92,
"name": "Cinder · Austin",
"quality": 74.65,
"region": "Austin",
"speed": 67.95,
"train": "Cinder"
},
{
"cost": 67.77,
"name": "Delta · Seoul",
"quality": 79.55,
"region": "Seoul",
"speed": 74.63,
"train": "Delta"
},
{
"cost": 65.14,
"name": "Delta · Paris",
"quality": 83.96,
"region": "Paris",
"speed": 81.26,
"train": "Delta"
},
{
"cost": 63.27,
"name": "Delta · Austin",
"quality": 86.91,
"region": "Austin",
"speed": 85.41,
"train": "Delta"
},
{
"cost": 62.27,
"name": "Ember · Seoul",
"quality": 87.85,
"region": "Seoul",
"speed": 85.84,
"train": "Ember"
},
{
"cost": 62.08,
"name": "Ember · Paris",
"quality": 86.83,
"region": "Paris",
"speed": 83.05,
"train": "Ember"
},
{
"cost": 62.54,
"name": "Ember · Austin",
"quality": 84.47,
"region": "Austin",
"speed": 79.07,
"train": "Ember"
},
{
"cost": 63.33,
"name": "Fjord · Seoul",
"quality": 81.8,
"region": "Seoul",
"speed": 76.46,
"train": "Fjord"
},
{
"cost": 64.12,
"name": "Fjord · Paris",
"quality": 79.92,
"region": "Paris",
"speed": 77.17,
"train": "Fjord"
},
{
"cost": 64.53,
"name": "Fjord · Austin",
"quality": 79.72,
"region": "Austin",
"speed": 81.55,
"train": "Fjord"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"theme": "graflume-light",
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
};
Graflume.scatterMatrix('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"theme": "graflume-light",
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
}범례
계열, 범주 또는 연속 값의 시각적 의미를 차트와 함께 설명합니다.
상태불러오는 중
legend
- 범례:
legend · categories · name
불러오는 중
범례 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
speedquantitative | qualityquantitative | costquantitative |
|---|---|---|
| 61 | 75 | 82 |
| 67.65 | 75.07 | 82.79 |
| 71.88 | 73.38 | 83.22 |
| 72.41 | 70.75 | 83.01 |
| 69.68 | 68.28 | 81.97 |
| 65.69 | 67.03 | 80.07 |
| 63.03 | 67.69 | 77.41 |
| 63.64 | 70.38 | 74.25 |
| 67.95 | 74.65 | 70.92 |
| 74.63 | 79.55 | 67.77 |
| 81.26 | 83.96 | 65.14 |
| 85.41 | 86.91 | 63.27 |
| 85.84 | 87.85 | 62.27 |
| 83.05 | 86.83 | 62.08 |
| 79.07 | 84.47 | 62.54 |
| 76.46 | 81.8 | 63.33 |
| 77.17 | 79.92 | 64.12 |
| 81.55 | 79.72 | 64.53 |
브라우저 API · 이식 가능한 스키마
브라우저 API
Graflume.scatterMatrix()
const data = [
{
"cost": 82,
"name": "Aurora · Seoul",
"quality": 75,
"region": "Seoul",
"speed": 61,
"train": "Aurora"
},
{
"cost": 82.79,
"name": "Aurora · Paris",
"quality": 75.07,
"region": "Paris",
"speed": 67.65,
"train": "Aurora"
},
{
"cost": 83.22,
"name": "Aurora · Austin",
"quality": 73.38,
"region": "Austin",
"speed": 71.88,
"train": "Aurora"
},
{
"cost": 83.01,
"name": "Beacon · Seoul",
"quality": 70.75,
"region": "Seoul",
"speed": 72.41,
"train": "Beacon"
},
{
"cost": 81.97,
"name": "Beacon · Paris",
"quality": 68.28,
"region": "Paris",
"speed": 69.68,
"train": "Beacon"
},
{
"cost": 80.07,
"name": "Beacon · Austin",
"quality": 67.03,
"region": "Austin",
"speed": 65.69,
"train": "Beacon"
},
{
"cost": 77.41,
"name": "Cinder · Seoul",
"quality": 67.69,
"region": "Seoul",
"speed": 63.03,
"train": "Cinder"
},
{
"cost": 74.25,
"name": "Cinder · Paris",
"quality": 70.38,
"region": "Paris",
"speed": 63.64,
"train": "Cinder"
},
{
"cost": 70.92,
"name": "Cinder · Austin",
"quality": 74.65,
"region": "Austin",
"speed": 67.95,
"train": "Cinder"
},
{
"cost": 67.77,
"name": "Delta · Seoul",
"quality": 79.55,
"region": "Seoul",
"speed": 74.63,
"train": "Delta"
},
{
"cost": 65.14,
"name": "Delta · Paris",
"quality": 83.96,
"region": "Paris",
"speed": 81.26,
"train": "Delta"
},
{
"cost": 63.27,
"name": "Delta · Austin",
"quality": 86.91,
"region": "Austin",
"speed": 85.41,
"train": "Delta"
},
{
"cost": 62.27,
"name": "Ember · Seoul",
"quality": 87.85,
"region": "Seoul",
"speed": 85.84,
"train": "Ember"
},
{
"cost": 62.08,
"name": "Ember · Paris",
"quality": 86.83,
"region": "Paris",
"speed": 83.05,
"train": "Ember"
},
{
"cost": 62.54,
"name": "Ember · Austin",
"quality": 84.47,
"region": "Austin",
"speed": 79.07,
"train": "Ember"
},
{
"cost": 63.33,
"name": "Fjord · Seoul",
"quality": 81.8,
"region": "Seoul",
"speed": 76.46,
"train": "Fjord"
},
{
"cost": 64.12,
"name": "Fjord · Paris",
"quality": 79.92,
"region": "Paris",
"speed": 77.17,
"train": "Fjord"
},
{
"cost": 64.53,
"name": "Fjord · Austin",
"quality": 79.72,
"region": "Austin",
"speed": 81.55,
"train": "Fjord"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"legend": {
"field": "name",
"interactive": true,
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "categories",
"orientation": "horizontal",
"position": "bottom",
"title": "이름",
"visible": true
},
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
};
Graflume.scatterMatrix('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"legend": {
"field": "name",
"interactive": true,
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "categories",
"orientation": "horizontal",
"position": "bottom",
"title": "이름",
"visible": true
},
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
}강조
대표 데이터나 공간 위치를 시각적으로 강조해 읽을 지점을 안내합니다.
상태불러오는 중
highlight
- 포인트·범위 하이라이트:
highlights[] · datum · speed
불러오는 중
강조 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
speedquantitative | qualityquantitative | costquantitative |
|---|---|---|
| 61 | 75 | 82 |
| 67.65 | 75.07 | 82.79 |
| 71.88 | 73.38 | 83.22 |
| 72.41 | 70.75 | 83.01 |
| 69.68 | 68.28 | 81.97 |
| 65.69 | 67.03 | 80.07 |
| 63.03 | 67.69 | 77.41 |
| 63.64 | 70.38 | 74.25 |
| 67.95 | 74.65 | 70.92 |
| 74.63 | 79.55 | 67.77 |
| 81.26 | 83.96 | 65.14 |
| 85.41 | 86.91 | 63.27 |
| 85.84 | 87.85 | 62.27 |
| 83.05 | 86.83 | 62.08 |
| 79.07 | 84.47 | 62.54 |
| 76.46 | 81.8 | 63.33 |
| 77.17 | 79.92 | 64.12 |
| 81.55 | 79.72 | 64.53 |
브라우저 API · 이식 가능한 스키마
브라우저 API
Graflume.scatterMatrix()
const data = [
{
"cost": 82,
"name": "Aurora · Seoul",
"quality": 75,
"region": "Seoul",
"speed": 61,
"train": "Aurora"
},
{
"cost": 82.79,
"name": "Aurora · Paris",
"quality": 75.07,
"region": "Paris",
"speed": 67.65,
"train": "Aurora"
},
{
"cost": 83.22,
"name": "Aurora · Austin",
"quality": 73.38,
"region": "Austin",
"speed": 71.88,
"train": "Aurora"
},
{
"cost": 83.01,
"name": "Beacon · Seoul",
"quality": 70.75,
"region": "Seoul",
"speed": 72.41,
"train": "Beacon"
},
{
"cost": 81.97,
"name": "Beacon · Paris",
"quality": 68.28,
"region": "Paris",
"speed": 69.68,
"train": "Beacon"
},
{
"cost": 80.07,
"name": "Beacon · Austin",
"quality": 67.03,
"region": "Austin",
"speed": 65.69,
"train": "Beacon"
},
{
"cost": 77.41,
"name": "Cinder · Seoul",
"quality": 67.69,
"region": "Seoul",
"speed": 63.03,
"train": "Cinder"
},
{
"cost": 74.25,
"name": "Cinder · Paris",
"quality": 70.38,
"region": "Paris",
"speed": 63.64,
"train": "Cinder"
},
{
"cost": 70.92,
"name": "Cinder · Austin",
"quality": 74.65,
"region": "Austin",
"speed": 67.95,
"train": "Cinder"
},
{
"cost": 67.77,
"name": "Delta · Seoul",
"quality": 79.55,
"region": "Seoul",
"speed": 74.63,
"train": "Delta"
},
{
"cost": 65.14,
"name": "Delta · Paris",
"quality": 83.96,
"region": "Paris",
"speed": 81.26,
"train": "Delta"
},
{
"cost": 63.27,
"name": "Delta · Austin",
"quality": 86.91,
"region": "Austin",
"speed": 85.41,
"train": "Delta"
},
{
"cost": 62.27,
"name": "Ember · Seoul",
"quality": 87.85,
"region": "Seoul",
"speed": 85.84,
"train": "Ember"
},
{
"cost": 62.08,
"name": "Ember · Paris",
"quality": 86.83,
"region": "Paris",
"speed": 83.05,
"train": "Ember"
},
{
"cost": 62.54,
"name": "Ember · Austin",
"quality": 84.47,
"region": "Austin",
"speed": 79.07,
"train": "Ember"
},
{
"cost": 63.33,
"name": "Fjord · Seoul",
"quality": 81.8,
"region": "Seoul",
"speed": 76.46,
"train": "Fjord"
},
{
"cost": 64.12,
"name": "Fjord · Paris",
"quality": 79.92,
"region": "Paris",
"speed": 77.17,
"train": "Fjord"
},
{
"cost": 64.53,
"name": "Fjord · Austin",
"quality": 79.72,
"region": "Austin",
"speed": 81.55,
"train": "Fjord"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "speed",
"type": "datum",
"value": 74.63
}
}
],
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
};
Graflume.scatterMatrix('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "speed",
"type": "datum",
"value": 74.63
}
}
],
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
}말풍선
자동 충돌 회피와 다국어 줄바꿈을 사용하는 설명 말풍선을 표시합니다.
상태불러오는 중
callout
- 설명 말풍선:
annotations[] · datum · speed · callout · placement:auto
불러오는 중
말풍선 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
speedquantitative | qualityquantitative | costquantitative |
|---|---|---|
| 61 | 75 | 82 |
| 67.65 | 75.07 | 82.79 |
| 71.88 | 73.38 | 83.22 |
| 72.41 | 70.75 | 83.01 |
| 69.68 | 68.28 | 81.97 |
| 65.69 | 67.03 | 80.07 |
| 63.03 | 67.69 | 77.41 |
| 63.64 | 70.38 | 74.25 |
| 67.95 | 74.65 | 70.92 |
| 74.63 | 79.55 | 67.77 |
| 81.26 | 83.96 | 65.14 |
| 85.41 | 86.91 | 63.27 |
| 85.84 | 87.85 | 62.27 |
| 83.05 | 86.83 | 62.08 |
| 79.07 | 84.47 | 62.54 |
| 76.46 | 81.8 | 63.33 |
| 77.17 | 79.92 | 64.12 |
| 81.55 | 79.72 | 64.53 |
브라우저 API · 이식 가능한 스키마
브라우저 API
Graflume.scatterMatrix()
const data = [
{
"cost": 82,
"name": "Aurora · Seoul",
"quality": 75,
"region": "Seoul",
"speed": 61,
"train": "Aurora"
},
{
"cost": 82.79,
"name": "Aurora · Paris",
"quality": 75.07,
"region": "Paris",
"speed": 67.65,
"train": "Aurora"
},
{
"cost": 83.22,
"name": "Aurora · Austin",
"quality": 73.38,
"region": "Austin",
"speed": 71.88,
"train": "Aurora"
},
{
"cost": 83.01,
"name": "Beacon · Seoul",
"quality": 70.75,
"region": "Seoul",
"speed": 72.41,
"train": "Beacon"
},
{
"cost": 81.97,
"name": "Beacon · Paris",
"quality": 68.28,
"region": "Paris",
"speed": 69.68,
"train": "Beacon"
},
{
"cost": 80.07,
"name": "Beacon · Austin",
"quality": 67.03,
"region": "Austin",
"speed": 65.69,
"train": "Beacon"
},
{
"cost": 77.41,
"name": "Cinder · Seoul",
"quality": 67.69,
"region": "Seoul",
"speed": 63.03,
"train": "Cinder"
},
{
"cost": 74.25,
"name": "Cinder · Paris",
"quality": 70.38,
"region": "Paris",
"speed": 63.64,
"train": "Cinder"
},
{
"cost": 70.92,
"name": "Cinder · Austin",
"quality": 74.65,
"region": "Austin",
"speed": 67.95,
"train": "Cinder"
},
{
"cost": 67.77,
"name": "Delta · Seoul",
"quality": 79.55,
"region": "Seoul",
"speed": 74.63,
"train": "Delta"
},
{
"cost": 65.14,
"name": "Delta · Paris",
"quality": 83.96,
"region": "Paris",
"speed": 81.26,
"train": "Delta"
},
{
"cost": 63.27,
"name": "Delta · Austin",
"quality": 86.91,
"region": "Austin",
"speed": 85.41,
"train": "Delta"
},
{
"cost": 62.27,
"name": "Ember · Seoul",
"quality": 87.85,
"region": "Seoul",
"speed": 85.84,
"train": "Ember"
},
{
"cost": 62.08,
"name": "Ember · Paris",
"quality": 86.83,
"region": "Paris",
"speed": 83.05,
"train": "Ember"
},
{
"cost": 62.54,
"name": "Ember · Austin",
"quality": 84.47,
"region": "Austin",
"speed": 79.07,
"train": "Ember"
},
{
"cost": 63.33,
"name": "Fjord · Seoul",
"quality": 81.8,
"region": "Seoul",
"speed": 76.46,
"train": "Fjord"
},
{
"cost": 64.12,
"name": "Fjord · Paris",
"quality": 79.92,
"region": "Paris",
"speed": 77.17,
"train": "Fjord"
},
{
"cost": 64.53,
"name": "Fjord · Austin",
"quality": 79.72,
"region": "Austin",
"speed": 81.55,
"train": "Fjord"
}
];
const options = {
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "speed",
"type": "datum",
"value": 74.63
},
"text": "포인트·범위 하이라이트 · 74.63"
}
],
"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": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
};
Graflume.scatterMatrix('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "speed",
"type": "datum",
"value": 74.63
},
"text": "포인트·범위 하이라이트 · 74.63"
}
],
"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": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
}선택
데이터를 선택하고 토글하며 배경이나 Esc 키로 안전하게 해제합니다.
상태불러오는 중
selection
- 대화형 선택:
selection · multiple · toggle
불러오는 중
선택 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
speedquantitative | qualityquantitative | costquantitative |
|---|---|---|
| 61 | 75 | 82 |
| 67.65 | 75.07 | 82.79 |
| 71.88 | 73.38 | 83.22 |
| 72.41 | 70.75 | 83.01 |
| 69.68 | 68.28 | 81.97 |
| 65.69 | 67.03 | 80.07 |
| 63.03 | 67.69 | 77.41 |
| 63.64 | 70.38 | 74.25 |
| 67.95 | 74.65 | 70.92 |
| 74.63 | 79.55 | 67.77 |
| 81.26 | 83.96 | 65.14 |
| 85.41 | 86.91 | 63.27 |
| 85.84 | 87.85 | 62.27 |
| 83.05 | 86.83 | 62.08 |
| 79.07 | 84.47 | 62.54 |
| 76.46 | 81.8 | 63.33 |
| 77.17 | 79.92 | 64.12 |
| 81.55 | 79.72 | 64.53 |
브라우저 API · 이식 가능한 스키마
브라우저 API
Graflume.scatterMatrix()
const data = [
{
"cost": 82,
"name": "Aurora · Seoul",
"quality": 75,
"region": "Seoul",
"speed": 61,
"train": "Aurora"
},
{
"cost": 82.79,
"name": "Aurora · Paris",
"quality": 75.07,
"region": "Paris",
"speed": 67.65,
"train": "Aurora"
},
{
"cost": 83.22,
"name": "Aurora · Austin",
"quality": 73.38,
"region": "Austin",
"speed": 71.88,
"train": "Aurora"
},
{
"cost": 83.01,
"name": "Beacon · Seoul",
"quality": 70.75,
"region": "Seoul",
"speed": 72.41,
"train": "Beacon"
},
{
"cost": 81.97,
"name": "Beacon · Paris",
"quality": 68.28,
"region": "Paris",
"speed": 69.68,
"train": "Beacon"
},
{
"cost": 80.07,
"name": "Beacon · Austin",
"quality": 67.03,
"region": "Austin",
"speed": 65.69,
"train": "Beacon"
},
{
"cost": 77.41,
"name": "Cinder · Seoul",
"quality": 67.69,
"region": "Seoul",
"speed": 63.03,
"train": "Cinder"
},
{
"cost": 74.25,
"name": "Cinder · Paris",
"quality": 70.38,
"region": "Paris",
"speed": 63.64,
"train": "Cinder"
},
{
"cost": 70.92,
"name": "Cinder · Austin",
"quality": 74.65,
"region": "Austin",
"speed": 67.95,
"train": "Cinder"
},
{
"cost": 67.77,
"name": "Delta · Seoul",
"quality": 79.55,
"region": "Seoul",
"speed": 74.63,
"train": "Delta"
},
{
"cost": 65.14,
"name": "Delta · Paris",
"quality": 83.96,
"region": "Paris",
"speed": 81.26,
"train": "Delta"
},
{
"cost": 63.27,
"name": "Delta · Austin",
"quality": 86.91,
"region": "Austin",
"speed": 85.41,
"train": "Delta"
},
{
"cost": 62.27,
"name": "Ember · Seoul",
"quality": 87.85,
"region": "Seoul",
"speed": 85.84,
"train": "Ember"
},
{
"cost": 62.08,
"name": "Ember · Paris",
"quality": 86.83,
"region": "Paris",
"speed": 83.05,
"train": "Ember"
},
{
"cost": 62.54,
"name": "Ember · Austin",
"quality": 84.47,
"region": "Austin",
"speed": 79.07,
"train": "Ember"
},
{
"cost": 63.33,
"name": "Fjord · Seoul",
"quality": 81.8,
"region": "Seoul",
"speed": 76.46,
"train": "Fjord"
},
{
"cost": 64.12,
"name": "Fjord · Paris",
"quality": 79.92,
"region": "Paris",
"speed": 77.17,
"train": "Fjord"
},
{
"cost": 64.53,
"name": "Fjord · Austin",
"quality": 79.72,
"region": "Austin",
"speed": 81.55,
"train": "Fjord"
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"selection": {
"ariaLabel": "대화형 선택",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "speed",
"mode": "multiple",
"toggle": true
}
},
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
};
Graflume.scatterMatrix('#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": "speed",
"mode": "multiple",
"toggle": true
}
},
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
}화면 제어
확대, 이동, 초기화, 투영, 전체 화면과 PNG 내보내기 메뉴를 각각 표시하거나 숨깁니다. controls: false이면 제어 막대 전체를 제거합니다.
상태불러오는 중
controls
불러오는 중
화면 제어 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
speedquantitative | qualityquantitative | costquantitative |
|---|---|---|
| 61 | 75 | 82 |
| 67.65 | 75.07 | 82.79 |
| 71.88 | 73.38 | 83.22 |
| 72.41 | 70.75 | 83.01 |
| 69.68 | 68.28 | 81.97 |
| 65.69 | 67.03 | 80.07 |
| 63.03 | 67.69 | 77.41 |
| 63.64 | 70.38 | 74.25 |
| 67.95 | 74.65 | 70.92 |
| 74.63 | 79.55 | 67.77 |
| 81.26 | 83.96 | 65.14 |
| 85.41 | 86.91 | 63.27 |
| 85.84 | 87.85 | 62.27 |
| 83.05 | 86.83 | 62.08 |
| 79.07 | 84.47 | 62.54 |
| 76.46 | 81.8 | 63.33 |
| 77.17 | 79.92 | 64.12 |
| 81.55 | 79.72 | 64.53 |
브라우저 API · 이식 가능한 스키마
브라우저 API
Graflume.scatterMatrix()
const data = [
{
"cost": 82,
"name": "Aurora · Seoul",
"quality": 75,
"region": "Seoul",
"speed": 61,
"train": "Aurora"
},
{
"cost": 82.79,
"name": "Aurora · Paris",
"quality": 75.07,
"region": "Paris",
"speed": 67.65,
"train": "Aurora"
},
{
"cost": 83.22,
"name": "Aurora · Austin",
"quality": 73.38,
"region": "Austin",
"speed": 71.88,
"train": "Aurora"
},
{
"cost": 83.01,
"name": "Beacon · Seoul",
"quality": 70.75,
"region": "Seoul",
"speed": 72.41,
"train": "Beacon"
},
{
"cost": 81.97,
"name": "Beacon · Paris",
"quality": 68.28,
"region": "Paris",
"speed": 69.68,
"train": "Beacon"
},
{
"cost": 80.07,
"name": "Beacon · Austin",
"quality": 67.03,
"region": "Austin",
"speed": 65.69,
"train": "Beacon"
},
{
"cost": 77.41,
"name": "Cinder · Seoul",
"quality": 67.69,
"region": "Seoul",
"speed": 63.03,
"train": "Cinder"
},
{
"cost": 74.25,
"name": "Cinder · Paris",
"quality": 70.38,
"region": "Paris",
"speed": 63.64,
"train": "Cinder"
},
{
"cost": 70.92,
"name": "Cinder · Austin",
"quality": 74.65,
"region": "Austin",
"speed": 67.95,
"train": "Cinder"
},
{
"cost": 67.77,
"name": "Delta · Seoul",
"quality": 79.55,
"region": "Seoul",
"speed": 74.63,
"train": "Delta"
},
{
"cost": 65.14,
"name": "Delta · Paris",
"quality": 83.96,
"region": "Paris",
"speed": 81.26,
"train": "Delta"
},
{
"cost": 63.27,
"name": "Delta · Austin",
"quality": 86.91,
"region": "Austin",
"speed": 85.41,
"train": "Delta"
},
{
"cost": 62.27,
"name": "Ember · Seoul",
"quality": 87.85,
"region": "Seoul",
"speed": 85.84,
"train": "Ember"
},
{
"cost": 62.08,
"name": "Ember · Paris",
"quality": 86.83,
"region": "Paris",
"speed": 83.05,
"train": "Ember"
},
{
"cost": 62.54,
"name": "Ember · Austin",
"quality": 84.47,
"region": "Austin",
"speed": 79.07,
"train": "Ember"
},
{
"cost": 63.33,
"name": "Fjord · Seoul",
"quality": 81.8,
"region": "Seoul",
"speed": 76.46,
"train": "Fjord"
},
{
"cost": 64.12,
"name": "Fjord · Paris",
"quality": 79.92,
"region": "Paris",
"speed": 77.17,
"train": "Fjord"
},
{
"cost": 64.53,
"name": "Fjord · Austin",
"quality": 79.72,
"region": "Austin",
"speed": 81.55,
"train": "Fjord"
}
];
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": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"padding": {
"top": 52
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
};
Graflume.scatterMatrix('#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": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"padding": {
"top": 52
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
}접근성
ARIA 설명, 키보드 안내와 의미 있는 데이터 표를 함께 제공합니다.
상태불러오는 중
accessibility
불러오는 중
접근성 · 행 데이터
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
speedquantitative | qualityquantitative | costquantitative |
|---|---|---|
| 61 | 75 | 82 |
| 67.65 | 75.07 | 82.79 |
| 71.88 | 73.38 | 83.22 |
| 72.41 | 70.75 | 83.01 |
| 69.68 | 68.28 | 81.97 |
| 65.69 | 67.03 | 80.07 |
| 63.03 | 67.69 | 77.41 |
| 63.64 | 70.38 | 74.25 |
| 67.95 | 74.65 | 70.92 |
| 74.63 | 79.55 | 67.77 |
| 81.26 | 83.96 | 65.14 |
| 85.41 | 86.91 | 63.27 |
| 85.84 | 87.85 | 62.27 |
| 83.05 | 86.83 | 62.08 |
| 79.07 | 84.47 | 62.54 |
| 76.46 | 81.8 | 63.33 |
| 77.17 | 79.92 | 64.12 |
| 81.55 | 79.72 | 64.53 |
브라우저 API · 이식 가능한 스키마
브라우저 API
Graflume.scatterMatrix()
const data = [
{
"cost": 82,
"name": "Aurora · Seoul",
"quality": 75,
"region": "Seoul",
"speed": 61,
"train": "Aurora"
},
{
"cost": 82.79,
"name": "Aurora · Paris",
"quality": 75.07,
"region": "Paris",
"speed": 67.65,
"train": "Aurora"
},
{
"cost": 83.22,
"name": "Aurora · Austin",
"quality": 73.38,
"region": "Austin",
"speed": 71.88,
"train": "Aurora"
},
{
"cost": 83.01,
"name": "Beacon · Seoul",
"quality": 70.75,
"region": "Seoul",
"speed": 72.41,
"train": "Beacon"
},
{
"cost": 81.97,
"name": "Beacon · Paris",
"quality": 68.28,
"region": "Paris",
"speed": 69.68,
"train": "Beacon"
},
{
"cost": 80.07,
"name": "Beacon · Austin",
"quality": 67.03,
"region": "Austin",
"speed": 65.69,
"train": "Beacon"
},
{
"cost": 77.41,
"name": "Cinder · Seoul",
"quality": 67.69,
"region": "Seoul",
"speed": 63.03,
"train": "Cinder"
},
{
"cost": 74.25,
"name": "Cinder · Paris",
"quality": 70.38,
"region": "Paris",
"speed": 63.64,
"train": "Cinder"
},
{
"cost": 70.92,
"name": "Cinder · Austin",
"quality": 74.65,
"region": "Austin",
"speed": 67.95,
"train": "Cinder"
},
{
"cost": 67.77,
"name": "Delta · Seoul",
"quality": 79.55,
"region": "Seoul",
"speed": 74.63,
"train": "Delta"
},
{
"cost": 65.14,
"name": "Delta · Paris",
"quality": 83.96,
"region": "Paris",
"speed": 81.26,
"train": "Delta"
},
{
"cost": 63.27,
"name": "Delta · Austin",
"quality": 86.91,
"region": "Austin",
"speed": 85.41,
"train": "Delta"
},
{
"cost": 62.27,
"name": "Ember · Seoul",
"quality": 87.85,
"region": "Seoul",
"speed": 85.84,
"train": "Ember"
},
{
"cost": 62.08,
"name": "Ember · Paris",
"quality": 86.83,
"region": "Paris",
"speed": 83.05,
"train": "Ember"
},
{
"cost": 62.54,
"name": "Ember · Austin",
"quality": 84.47,
"region": "Austin",
"speed": 79.07,
"train": "Ember"
},
{
"cost": 63.33,
"name": "Fjord · Seoul",
"quality": 81.8,
"region": "Seoul",
"speed": 76.46,
"train": "Fjord"
},
{
"cost": 64.12,
"name": "Fjord · Paris",
"quality": 79.92,
"region": "Paris",
"speed": 77.17,
"train": "Fjord"
},
{
"cost": 64.53,
"name": "Fjord · Austin",
"quality": 79.72,
"region": "Austin",
"speed": 81.55,
"train": "Fjord"
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Scatter matrix · 접근성 example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
};
Graflume.scatterMatrix('#chart', data, options);이식 가능한 스키마
ChartSpec 0.1 · options
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Scatter matrix · 접근성 example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"options": {
"dimensions": [
"speed",
"quality",
"cost"
]
}
},
"width": "container",
"x": {
"field": "speed",
"title": "Release metric",
"type": "quantitative"
},
"y": {
"field": "quality",
"title": "Release metric",
"type": "quantitative"
}
}