ARIA · table fallback접근성
Canvas ARIA 메타데이터에 텍스트 요약과 표 대체 표현을 함께 제공합니다.
Graflume · Alpha
논리 좌표 격자를 제공된 물리 좌표로 휘게 만들고 점이나 등고선을 같은 표면에 겹칩니다.
차트 계열 · 고급 차트 계열
논리 좌표 격자를 제공된 물리 좌표로 휘게 만들고 점이나 등고선을 같은 표면에 겹칩니다.
carpet()graflume/completecarpet기본 구현
필수 데이터와 차트 고유 인코딩만 사용한 출발점입니다. 아래 코드를 펼치면 그대로 실행할 수 있습니다.
논리 좌표 격자를 제공된 물리 좌표로 휘게 만들고 점이나 등고선을 같은 표면에 겹칩니다.
상태불러오는 중
minimal-implementation불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}공통 기능
기능 탭을 선택해 헤더, 도구 설명, 테마, 범례, 강조, 말풍선, 선택, 화면 제어와 접근성을 하나씩 적용한 결과와 코드를 비교하세요. 데이터 표식 위에 마우스를 올리세요. 지원하는 차트에서는 축을 따라 커서를 움직이면 가장 가까운 값을 볼 수 있습니다. 모든 정확한 값은 아래 표에서 확인할 수 있습니다.
차트 안에 제목과 보조 설명을 넣어 무엇을 보여주는지 먼저 밝힙니다.
상태불러오는 중
header불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"title": {
"subtitle": "Carpet chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: explicit logical and projected coordinates · logical axis ticks and labels.",
"text": "Carpet"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"title": {
"subtitle": "Carpet chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: explicit logical and projected coordinates · logical axis ticks and labels.",
"text": "Carpet"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}마크 또는 축을 가리키면 정확한 값을 보여줍니다. 날짜·시간은 locale, 형식과 시간대를 사용자가 선언형 옵션으로 정할 수 있습니다.
상태불러오는 중
tooltip불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"hover": true,
"tooltip": {
"fields": [
{
"field": "a",
"format": "number",
"label": "A"
},
{
"field": "b",
"format": "number",
"label": "B"
},
{
"field": "px",
"format": "number",
"label": "Px"
},
{
"field": "py",
"format": "number",
"label": "Py"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Carpet · 도구 설명",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"hover": true,
"tooltip": {
"fields": [
{
"field": "a",
"format": "number",
"label": "A"
},
{
"field": "b",
"format": "number",
"label": "B"
},
{
"field": "px",
"format": "number",
"label": "Px"
},
{
"field": "py",
"format": "number",
"label": "Py"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Carpet · 도구 설명",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}상단 선택기의 현재 내장 테마를 옵션에 적용하고 모든 활성 예제를 함께 갱신합니다.
상태불러오는 중
theme불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"theme": "graflume-light",
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"theme": "graflume-light",
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}계열, 범주 또는 연속 값의 시각적 의미를 차트와 함께 설명합니다.
상태불러오는 중
legendlegend · continuous · value불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"legend": {
"field": "value",
"interactive": false,
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "continuous",
"orientation": "horizontal",
"position": "bottom",
"title": "값",
"visible": true
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"legend": {
"field": "value",
"interactive": false,
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "continuous",
"orientation": "horizontal",
"position": "bottom",
"title": "값",
"visible": true
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}대표 데이터나 공간 위치를 시각적으로 강조해 읽을 지점을 안내합니다.
상태불러오는 중
highlighthighlights[] · datum · px불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "px",
"type": "datum",
"value": 4.594
}
}
],
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "px",
"type": "datum",
"value": 4.594
}
}
],
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}자동 충돌 회피와 다국어 줄바꿈을 사용하는 설명 말풍선을 표시합니다.
상태불러오는 중
calloutannotations[] · datum · px · callout · placement:auto불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "px",
"type": "datum",
"value": 4.594
},
"text": "포인트·범위 하이라이트 · 4"
}
],
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
}
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "px",
"type": "datum",
"value": 4.594
},
"text": "포인트·범위 하이라이트 · 4"
}
],
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
}
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}데이터를 선택하고 토글하며 배경이나 Esc 키로 안전하게 해제합니다.
상태불러오는 중
selectionselection · multiple · toggle불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"selection": {
"ariaLabel": "대화형 선택",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "px",
"mode": "multiple",
"toggle": true
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"selection": {
"ariaLabel": "대화형 선택",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "px",
"mode": "multiple",
"toggle": true
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}확대, 이동, 초기화, 투영, 전체 화면과 PNG 내보내기 메뉴를 각각 표시하거나 숨깁니다. controls: false이면 제어 막대 전체를 제거합니다.
상태불러오는 중
controls불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"padding": {
"top": 52
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"padding": {
"top": 52
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}ARIA 설명, 키보드 안내와 의미 있는 데이터 표를 함께 제공합니다.
상태불러오는 중
accessibility불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Carpet · 접근성 example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Carpet · 접근성 example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}차트 고유 기능
Graflume 공개 카탈로그에 등록된 이 계열의 모든 실행 모드입니다. 각 탭은 독립 데이터, 옵션, Quick API와 지원 기능 근거를 가집니다.
Carpet chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: explicit logical and projected coordinates · logical axis ticks and labels.
상태불러오는 중
carpetexplicit logical and projected coordinateslogical axis ticks and labels불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Carpet example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "a",
"format": "number",
"label": "A"
},
{
"field": "b",
"format": "number",
"label": "B"
},
{
"field": "px",
"format": "number",
"label": "Px"
},
{
"field": "py",
"format": "number",
"label": "Py"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Carpet",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Carpet chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: explicit logical and projected coordinates · logical axis ticks and labels.",
"text": "Carpet"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Carpet example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "a",
"format": "number",
"label": "A"
},
{
"field": "b",
"format": "number",
"label": "B"
},
{
"field": "px",
"format": "number",
"label": "Px"
},
{
"field": "py",
"format": "number",
"label": "Py"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Carpet",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Carpet chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: explicit logical and projected coordinates · logical axis ticks and labels.",
"text": "Carpet"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}Carpet scatter overlay 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: irregular/missing grids · mask policy.
상태불러오는 중
carpet-scatterirregular/missing gridsmask policy불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Carpet · Carpet scatter overlay example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "a",
"format": "number",
"label": "A"
},
{
"field": "b",
"format": "number",
"label": "B"
},
{
"field": "px",
"format": "number",
"label": "Px"
},
{
"field": "py",
"format": "number",
"label": "Py"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Carpet · Carpet scatter overlay",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "scatter"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Carpet scatter overlay 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: irregular/missing grids · mask policy.",
"text": "Carpet · Carpet scatter overlay"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpetScatter('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Carpet · Carpet scatter overlay example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "a",
"format": "number",
"label": "A"
},
{
"field": "b",
"format": "number",
"label": "B"
},
{
"field": "px",
"format": "number",
"label": "Px"
},
{
"field": "py",
"format": "number",
"label": "Py"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Carpet · Carpet scatter overlay",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "scatter"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Carpet scatter overlay 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: irregular/missing grids · mask policy.",
"text": "Carpet · Carpet scatter overlay"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}Carpet contour overlay 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: base/scatter/contour modes · dual projected tooltip.
상태불러오는 중
carpet-contourbase/scatter/contour modesdual projected tooltip불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Carpet · Carpet contour overlay example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "a",
"format": "number",
"label": "A"
},
{
"field": "b",
"format": "number",
"label": "B"
},
{
"field": "px",
"format": "number",
"label": "Px"
},
{
"field": "py",
"format": "number",
"label": "Py"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Carpet · Carpet contour overlay",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "contour"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Carpet contour overlay 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: base/scatter/contour modes · dual projected tooltip.",
"text": "Carpet · Carpet contour overlay"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpetContour('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Carpet · Carpet contour overlay example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "a",
"format": "number",
"label": "A"
},
{
"field": "b",
"format": "number",
"label": "B"
},
{
"field": "px",
"format": "number",
"label": "Px"
},
{
"field": "py",
"format": "number",
"label": "Py"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Carpet · Carpet contour overlay",
"trigger": "mark"
}
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "contour"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Carpet contour overlay 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: base/scatter/contour modes · dual projected tooltip.",
"text": "Carpet · Carpet contour overlay"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}극단 사례
성공할 수 있는 유효 데이터 안에서 수치 범위, 희소 구조와 대용량 입력을 검증합니다. 각 탭은 필요할 때만 데이터를 만들며 잘못된 값은 조용히 보정하지 않습니다.
0과 매우 작은 유한값부터 매우 큰 유한값까지 함께 넣어 자동 도메인, 정밀도와 기하가 무너지지 않는지 확인합니다. NaN과 Infinity는 의도적으로 거부됩니다. 유한값과 축 도메인을 보존하는 데이터 무결성 규칙 2개를 적용합니다.
상태불러오는 중
extreme-rangeextreme-smallextreme-largezeromixed-signbudget:marks<=6불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | -1e+12 |
| 1 | 0 | 1 | 0.161 | -1e-09 |
| 2 | 0 | 2 | 0.279 | 0 |
| 3 | 0 | 3 | 0.333 | 1e+12 |
| 4 | 0 | 4 | 0.334 | 1e-09 |
| 5 | 0 | 5 | 0.317 | 1e+06 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": -1000000000000
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": -1e-9
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 0
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 1000000000000
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 1e-9
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 1000000
}
];
const options = {
"accessibility": {
"description": "A warped coordinate surface retains two peaks and its underlying topology. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Carpet"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"title": {
"subtitle": "edge case · range",
"text": "Carpet"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"scale": {
"constant": 1,
"type": "symlog"
},
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "A warped coordinate surface retains two peaks and its underlying topology. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Carpet"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"title": {
"subtitle": "edge case · range",
"text": "Carpet"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"scale": {
"constant": 1,
"type": "symlog"
},
"title": "Carpet axis B",
"type": "quantitative"
}
}중복, 결측, 희소성, 순서 뒤바뀜 중 이 계열에서 의미가 정의된 구조만 실행합니다. 잘못된 참조나 깨진 튜플을 성공 예제로 위장하지 않습니다. 결측·중복·순서의 의미를 보존하는 구조 규칙 3개를 적용합니다.
상태불러오는 중
irregular-structuresparseduplicate-cellout-of-ordernullbudget:marks<=7불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 2 | 0 | 2 | 0.279 | 33.429 |
| 0 | 0 | 0 | 0 | — |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 1 | 0 | 1 | 0.161 | 25.566 |
브라우저 API
const data = [
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": null
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
}
];
const options = {
"accessibility": {
"description": "A warped coordinate surface retains two peaks and its underlying topology. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Carpet · 희소·불규칙 구조"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"title": {
"subtitle": "edge case · structure",
"text": "Carpet · 희소·불규칙 구조"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "A warped coordinate surface retains two peaks and its underlying topology. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Carpet · 희소·불규칙 구조"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"title": {
"subtitle": "edge case · structure",
"text": "Carpet · 희소·불규칙 구조"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}결정적인 압축 레시피를 탭을 열 때만 생성합니다. Graflume의 성능 프로필이 입력량에 맞춰 표식 수, 적중 검사와 애니메이션 비용을 제한합니다. 결정적 생성과 출력 제한을 보장하는 대용량 규칙 6개를 적용합니다. 이 계열은 논리 입력 65,536 셀를 생성하고 막대 표식 출력을 최대 16,384개로 제한합니다.
상태불러오는 중
high-row-cardinalityall-input-rows-generatedall-input-rows-processeddeterministic-generationbounded-renderinginput:65536zoom-pan-resetbudget:bar-marks<=16384legend · continuous · valuehighlights[] · datum · aannotations[] · datum · a · callout · placement:auto불러오는 중
브라우저 API
const recipe = {
"cardinality": {
"axes": {
"columns": 256,
"rows": 256
},
"sourceRows": 65536,
"unit": "cells"
},
"expectedInvariants": [
"finite-json",
"finite-carpet-coordinate"
],
"id": "grid-2d",
"initialView": {
"kind": "domain",
"zoom": 1
},
"outputBudget": {
"maximum": 16384,
"resource": "bar-marks"
},
"parameters": {
"columns": 256,
"family": "carpet",
"nullableFields": [
"value"
],
"positiveFields": [],
"rows": 256,
"scenario": "volume",
"valueFields": [
"value"
],
"valuePolicy": "signed"
},
"preview": {
"maximumRows": 12,
"method": "spatial-slice"
},
"reduction": {
"method": "area-weighted-grid-downsample",
"stage": "level-of-detail"
},
"seed": 1529851770,
"shape": "rows",
"version": 2
};
const { data, previewRows, plan } = Graflume.materializeDemoRecipe(recipe);
const options = {
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Carpet · 대용량 데이터"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "a",
"type": "datum",
"value": -0.49153
},
"text": "포인트·범위 하이라이트 · -0.49153"
}
],
"axes": {
"x": false,
"y": false
},
"create": {
"adaptive": {
"environment": {
"rowCount": 65536
},
"largeDataNavigation": true,
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "a",
"type": "datum",
"value": -0.49153
}
}
],
"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": "a",
"format": "number",
"label": "A"
},
{
"field": "b",
"format": "number",
"label": "B"
},
{
"field": "px",
"format": "number",
"label": "Px"
},
{
"field": "py",
"format": "number",
"label": "Py"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Carpet · 대용량 데이터",
"trigger": "mark"
}
},
"legend": {
"field": "value",
"interactive": false,
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "continuous",
"orientation": "horizontal",
"position": "bottom",
"title": "값",
"visible": true
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"padding": {
"top": 52
},
"performance": "auto",
"theme": "graflume-light",
"title": {
"subtitle": "A warped coordinate surface retains two peaks and its underlying topology · 65,536 logical rows, screen-aware detail",
"text": "Carpet · 대용량 데이터"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
"label": "Carpet · 대용량 데이터"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "a",
"type": "datum",
"value": -0.49153
},
"text": "포인트·범위 하이라이트 · -0.49153"
}
],
"axes": {
"x": false,
"y": false
},
"create": {
"adaptive": {
"environment": {
"rowCount": 65536
},
"largeDataNavigation": true,
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "a",
"type": "datum",
"value": -0.49153
}
}
],
"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": "a",
"format": "number",
"label": "A"
},
{
"field": "b",
"format": "number",
"label": "B"
},
{
"field": "px",
"format": "number",
"label": "Px"
},
{
"field": "py",
"format": "number",
"label": "Py"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Carpet · 대용량 데이터",
"trigger": "mark"
}
},
"legend": {
"field": "value",
"interactive": false,
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "continuous",
"orientation": "horizontal",
"position": "bottom",
"title": "값",
"visible": true
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"padding": {
"top": 52
},
"performance": "auto",
"theme": "graflume-light",
"title": {
"subtitle": "A warped coordinate surface retains two peaks and its underlying topology · 65,536 logical rows, screen-aware detail",
"text": "Carpet · 대용량 데이터"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
}극단 환경
기기 이름을 추측하지 않고 컨테이너 크기, 입력 방식, 표시 능력과 사용자 선호를 조합합니다. 모바일·워치·전자종이·흑백·도트 화면과 표준 기반 극단 환경을 같은 차트에서 비교하세요.
컨테이너 폭과 높이에 따라 축, 범례, 설명과 조작부를 자동 재배치합니다.
960×540 · adaptive.profiles=responsive-fluidzoom-reflowshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial세로형 작은 화면에서 44px 터치 대상, 탭 도구 설명과 접힌 보조 정보를 우선합니다.
390×844 · adaptive.profiles=mobile-touchzoom-reflowcoarse-touchvirtual-keyboardshape-rectangledisplay-colorinput-coarsemotion-fullrenderer-canvas-spatial원형 또는 매우 작은 화면에서는 핵심 표식과 값, 단계형 조작만 남기고 나머지는 아래 설명으로 재배치합니다.
184×224 · adaptive.profiles=smartwatchzoom-reflowreduced-effectscoarse-touchlow-resourcecutout-roundshape-rounddisplay-colorinput-coarsemotion-reducedrenderer-canvas-spatialviewport-tiny낮은 갱신률과 잔상 가능성을 고려해 정적 상태, 높은 명암과 데이터 표를 우선합니다.
758×1024 · adaptive.profiles=ebook-paperprint-pagedreduced-effectslow-resourceshape-pageddisplay-e-inkinput-keyboardmotion-staticrenderer-canvas-spatial색만으로 계열을 구분하지 않고 선, 표식, 패턴, 라벨과 표를 함께 사용합니다.
640×400 · adaptive.profiles=monochromereduced-effectsshape-rectangledisplay-monochromeinput-finemotion-reducedrenderer-canvas-spatial낮은 해상도에서는 표식 수와 장식을 줄이고 굵은 선, 정수 라벨과 단계형 확대를 사용합니다.
320×240 · adaptive.profiles=dot-matrixzoom-reflowreduced-effectskeyboard-switchlow-resourceshape-rectangledisplay-gridinput-keyboardmotion-staticrenderer-canvas-spatialviewport-tiny320 CSS px 등가 폭에서 본문은 한 축으로 재배치하고 차트만 자체 확대·이동을 허용합니다.
320×480 · adaptive.profiles=zoom-reflowzoom-reflowshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial힌지와 화면 분할 영역을 가로지르지 않도록 차트와 설명을 독립 세그먼트로 재배치합니다.
720×640 · adaptive.profiles=foldable-dualfoldable-dualshape-dualdisplay-colorinput-finemotion-fullrenderer-canvas-spatial호버가 없는 원거리 화면에서 큰 초점 표시와 방향키, Enter, Escape 조작을 제공합니다.
1920×1080 · adaptive.profiles=tv-remotetv-remoteshape-rectangledisplay-colorinput-remotemotion-fullrenderer-canvas-spatial조작부 대신 정적 차트, 설명과 표를 함께 배치하고 페이지 중간 분할을 피합니다.
794×1123 · adaptive.profiles=print-pagedprint-pagedshape-pageddisplay-colorinput-finemotion-staticrenderer-canvas-spatial시스템 색과 테두리를 존중하고 패턴, 표식과 텍스트를 중복 단서로 유지합니다.
640×400 · adaptive.profiles=forced-colorsforced-colorsshape-rectangledisplay-high-contrastinput-finemotion-fullrenderer-canvas-spatial전환을 즉시 끝내고 불투명 배경과 지연 로드를 사용해 움직임과 투명도 부담을 줄입니다.
640×400 · adaptive.profiles=reduced-effectsreduced-effectsshape-rectangledisplay-colorinput-finemotion-reducedrenderer-canvas-spatial호버 없이 탭으로 값을 확인하고 실제 조작 대상은 44px 이상, 확대·축소는 명시 버튼으로 제공합니다.
390×844 · adaptive.profiles=coarse-touchcoarse-touchshape-rectangledisplay-colorinput-coarsemotion-fullrenderer-canvas-spatial드래그 전용 기능 없이 Tab, 방향키, Enter, Space, Escape로 모든 조작에 도달합니다.
640×400 · adaptive.profiles=keyboard-switchkeyboard-switchshape-rectangledisplay-colorinput-keyboardmotion-fullrenderer-canvas-spatial적은 메모리와 느린 연결에서는 점진 렌더링, 샘플링, 취소 가능한 작업과 정적 대체를 우선합니다.
640×400 · adaptive.profiles=low-resourcelow-resourceshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial본문과 탭은 RTL 논리 방향을 따르되 축, 코드와 데이터 식별자는 기술적 LTR 순서를 유지합니다.
640×400 · adaptive.profiles=rtlrtlshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial세로쓰기 설명은 재배치하되 차트와 기술 표면은 독립적인 가로 패널로 유지합니다.
640×400 · adaptive.profiles=vertical-writingvertical-writingshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial차트를 무한히 늘이지 않고 읽기 가능한 최대 폭, 패널 분할과 큰 라벨을 사용합니다.
1920×720 · adaptive.profiles=ultrawide-projectionultrawide-projectionshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial짧고 긴 설명, 의미 있는 표와 상태를 제공해 Canvas나 색을 정보의 유일한 경로로 만들지 않습니다.
640×400 · adaptive.profiles=screenreader-braillescreenreader-brailleshape-nonvisualdisplay-colorinput-nonvisualmotion-fullrenderer-canvas-spatial스크립트가 꺼져도 검증된 정적 미리보기, 설명과 접힌 행 데이터 표가 핵심 정보를 보존합니다.
640×400 · adaptive.profiles=no-scriptno-scriptshape-nonvisualdisplay-colorinput-finemotion-staticrenderer-static-fallbackXR 전용 API가 없어도 일반 2D 또는 WebGL 패널로 안전하게 돌아가며 깊이 단서를 텍스트와 표로 중복합니다.
640×400 · adaptive.profiles=spatial-xrspatial-xrshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatialsafe-area와 원형 경계를 피해 제목, 표식, 조작부가 잘리지 않게 안쪽으로 재배치합니다.
184×224 · adaptive.profiles=cutout-roundcutout-roundshape-rounddisplay-colorinput-finemotion-fullrenderer-canvas-spatialviewport-tiny가상 키보드가 화면을 줄여도 초점 조작, 차트와 현재 설명이 가려지지 않게 다시 배치합니다.
390×560 · adaptive.profiles=virtual-keyboardvirtual-keyboardshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial위 프로필 탭을 선택하면 같은 데이터와 ChartSpec을 유지한 채 화면 크기, 입력 방식, 표시 능력과 사용자 선호에 맞춰 차트를 다시 구성합니다.
상태불러오는 중
adaptivecapability-drivenno-user-agent-branchinglegend · continuous · valuehighlights[] · datum · pxannotations[] · datum · px · callout · placement:autoselection · multiple · toggle불러오는 중
행 데이터와 zero-copy TypedArray 열은 하나의 데이터 계약을 공유합니다.
aquantitative | bquantitative | pxquantitative | pyquantitative | valuequantitative |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 18.454 |
| 1 | 0 | 1 | 0.161 | 25.566 |
| 2 | 0 | 2 | 0.279 | 33.429 |
| 3 | 0 | 3 | 0.333 | 37.437 |
| 4 | 0 | 4 | 0.334 | 34.696 |
| 5 | 0 | 5 | 0.317 | 27.231 |
| 6 | 0 | 6 | 0.33 | 19.709 |
| 7 | 0 | 7 | 0.402 | 14.966 |
| 8 | 0 | 8 | 0.535 | 12.882 |
| 0 | 1 | 0.237 | 1 | 23.107 |
| 1 | 1 | 1.237 | 1.161 | 35.347 |
| 2 | 1 | 2.237 | 1.279 | 48.878 |
| 3 | 1 | 3.237 | 1.333 | 55.784 |
| 4 | 1 | 4.237 | 1.334 | 51.103 |
| 5 | 1 | 5.237 | 1.317 | 38.364 |
| 6 | 1 | 6.237 | 1.33 | 25.59 |
| 7 | 1 | 7.237 | 1.402 | 17.544 |
| 8 | 1 | 8.237 | 1.535 | 13.904 |
| 0 | 2 | 0.44 | 2 | 26.364 |
| 1 | 2 | 1.44 | 2.161 | 42.193 |
| 2 | 2 | 2.44 | 2.279 | 59.698 |
| 3 | 2 | 3.44 | 2.333 | 68.668 |
| 4 | 2 | 4.44 | 2.334 | 62.805 |
| 5 | 2 | 5.44 | 2.317 | 46.879 |
| 6 | 2 | 6.44 | 2.33 | 31.246 |
| 7 | 2 | 7.44 | 2.402 | 21.451 |
| 8 | 2 | 8.44 | 2.535 | 16.459 |
| 0 | 3 | 0.594 | 3 | 25.96 |
| 1 | 3 | 1.594 | 3.161 | 41.344 |
| 2 | 3 | 2.594 | 3.279 | 58.373 |
| 3 | 3 | 3.594 | 3.333 | 67.222 |
| 4 | 3 | 4.594 | 3.334 | 62.151 |
| 5 | 3 | 5.594 | 3.317 | 48.474 |
| 6 | 3 | 6.594 | 3.33 | 36.19 |
| 7 | 3 | 7.594 | 3.402 | 28.674 |
| 8 | 3 | 8.594 | 3.535 | 22.887 |
| 0 | 4 | 0.715 | 4 | 22.195 |
| 1 | 4 | 1.715 | 4.161 | 33.433 |
| 2 | 4 | 2.715 | 4.279 | 45.905 |
| 3 | 4 | 3.715 | 4.333 | 52.641 |
| 4 | 4 | 4.715 | 4.334 | 50.238 |
| 5 | 4 | 5.715 | 4.317 | 43.99 |
| 6 | 4 | 6.715 | 4.33 | 41.06 |
| 7 | 4 | 7.715 | 4.402 | 39.729 |
| 8 | 4 | 8.715 | 4.535 | 33.562 |
| 0 | 5 | 0.839 | 5 | 17.595 |
| 1 | 5 | 1.839 | 5.161 | 23.767 |
| 2 | 5 | 2.839 | 5.279 | 30.658 |
| 3 | 5 | 3.839 | 5.333 | 34.711 |
| 4 | 5 | 4.839 | 5.334 | 35.092 |
| 5 | 5 | 5.839 | 5.317 | 36.552 |
| 6 | 5 | 6.839 | 5.33 | 42.841 |
| 7 | 5 | 7.839 | 5.402 | 47.546 |
| 8 | 5 | 8.839 | 5.535 | 41.624 |
| 0 | 6 | 1 | 6 | 14.308 |
| 1 | 6 | 2 | 6.161 | 16.856 |
| 2 | 6 | 3 | 6.279 | 19.736 |
| 3 | 6 | 4 | 6.333 | 21.699 |
| 4 | 6 | 5 | 6.334 | 23.244 |
| 5 | 6 | 6 | 6.317 | 27.839 |
| 6 | 6 | 7 | 6.33 | 36.881 |
| 7 | 6 | 8 | 6.402 | 43.259 |
| 8 | 6 | 9 | 6.535 | 38.745 |
브라우저 API
const data = [
{
"a": 0,
"b": 0,
"px": 0,
"py": 0,
"value": 18.454
},
{
"a": 1,
"b": 0,
"px": 1,
"py": 0.161,
"value": 25.566
},
{
"a": 2,
"b": 0,
"px": 2,
"py": 0.279,
"value": 33.429
},
{
"a": 3,
"b": 0,
"px": 3,
"py": 0.333,
"value": 37.437
},
{
"a": 4,
"b": 0,
"px": 4,
"py": 0.334,
"value": 34.696
},
{
"a": 5,
"b": 0,
"px": 5,
"py": 0.317,
"value": 27.231
},
{
"a": 6,
"b": 0,
"px": 6,
"py": 0.33,
"value": 19.709
},
{
"a": 7,
"b": 0,
"px": 7,
"py": 0.402,
"value": 14.966
},
{
"a": 8,
"b": 0,
"px": 8,
"py": 0.535,
"value": 12.882
},
{
"a": 0,
"b": 1,
"px": 0.237,
"py": 1,
"value": 23.107
},
{
"a": 1,
"b": 1,
"px": 1.237,
"py": 1.161,
"value": 35.347
},
{
"a": 2,
"b": 1,
"px": 2.237,
"py": 1.279,
"value": 48.878
},
{
"a": 3,
"b": 1,
"px": 3.237,
"py": 1.333,
"value": 55.784
},
{
"a": 4,
"b": 1,
"px": 4.237,
"py": 1.334,
"value": 51.103
},
{
"a": 5,
"b": 1,
"px": 5.237,
"py": 1.317,
"value": 38.364
},
{
"a": 6,
"b": 1,
"px": 6.237,
"py": 1.33,
"value": 25.59
},
{
"a": 7,
"b": 1,
"px": 7.237,
"py": 1.402,
"value": 17.544
},
{
"a": 8,
"b": 1,
"px": 8.237,
"py": 1.535,
"value": 13.904
},
{
"a": 0,
"b": 2,
"px": 0.44,
"py": 2,
"value": 26.364
},
{
"a": 1,
"b": 2,
"px": 1.44,
"py": 2.161,
"value": 42.193
},
{
"a": 2,
"b": 2,
"px": 2.44,
"py": 2.279,
"value": 59.698
},
{
"a": 3,
"b": 2,
"px": 3.44,
"py": 2.333,
"value": 68.668
},
{
"a": 4,
"b": 2,
"px": 4.44,
"py": 2.334,
"value": 62.805
},
{
"a": 5,
"b": 2,
"px": 5.44,
"py": 2.317,
"value": 46.879
},
{
"a": 6,
"b": 2,
"px": 6.44,
"py": 2.33,
"value": 31.246
},
{
"a": 7,
"b": 2,
"px": 7.44,
"py": 2.402,
"value": 21.451
},
{
"a": 8,
"b": 2,
"px": 8.44,
"py": 2.535,
"value": 16.459
},
{
"a": 0,
"b": 3,
"px": 0.594,
"py": 3,
"value": 25.96
},
{
"a": 1,
"b": 3,
"px": 1.594,
"py": 3.161,
"value": 41.344
},
{
"a": 2,
"b": 3,
"px": 2.594,
"py": 3.279,
"value": 58.373
},
{
"a": 3,
"b": 3,
"px": 3.594,
"py": 3.333,
"value": 67.222
},
{
"a": 4,
"b": 3,
"px": 4.594,
"py": 3.334,
"value": 62.151
},
{
"a": 5,
"b": 3,
"px": 5.594,
"py": 3.317,
"value": 48.474
},
{
"a": 6,
"b": 3,
"px": 6.594,
"py": 3.33,
"value": 36.19
},
{
"a": 7,
"b": 3,
"px": 7.594,
"py": 3.402,
"value": 28.674
},
{
"a": 8,
"b": 3,
"px": 8.594,
"py": 3.535,
"value": 22.887
},
{
"a": 0,
"b": 4,
"px": 0.715,
"py": 4,
"value": 22.195
},
{
"a": 1,
"b": 4,
"px": 1.715,
"py": 4.161,
"value": 33.433
},
{
"a": 2,
"b": 4,
"px": 2.715,
"py": 4.279,
"value": 45.905
},
{
"a": 3,
"b": 4,
"px": 3.715,
"py": 4.333,
"value": 52.641
},
{
"a": 4,
"b": 4,
"px": 4.715,
"py": 4.334,
"value": 50.238
},
{
"a": 5,
"b": 4,
"px": 5.715,
"py": 4.317,
"value": 43.99
},
{
"a": 6,
"b": 4,
"px": 6.715,
"py": 4.33,
"value": 41.06
},
{
"a": 7,
"b": 4,
"px": 7.715,
"py": 4.402,
"value": 39.729
},
{
"a": 8,
"b": 4,
"px": 8.715,
"py": 4.535,
"value": 33.562
},
{
"a": 0,
"b": 5,
"px": 0.839,
"py": 5,
"value": 17.595
},
{
"a": 1,
"b": 5,
"px": 1.839,
"py": 5.161,
"value": 23.767
},
{
"a": 2,
"b": 5,
"px": 2.839,
"py": 5.279,
"value": 30.658
},
{
"a": 3,
"b": 5,
"px": 3.839,
"py": 5.333,
"value": 34.711
},
{
"a": 4,
"b": 5,
"px": 4.839,
"py": 5.334,
"value": 35.092
},
{
"a": 5,
"b": 5,
"px": 5.839,
"py": 5.317,
"value": 36.552
},
{
"a": 6,
"b": 5,
"px": 6.839,
"py": 5.33,
"value": 42.841
},
{
"a": 7,
"b": 5,
"px": 7.839,
"py": 5.402,
"value": 47.546
},
{
"a": 8,
"b": 5,
"px": 8.839,
"py": 5.535,
"value": 41.624
},
{
"a": 0,
"b": 6,
"px": 1,
"py": 6,
"value": 14.308
},
{
"a": 1,
"b": 6,
"px": 2,
"py": 6.161,
"value": 16.856
},
{
"a": 2,
"b": 6,
"px": 3,
"py": 6.279,
"value": 19.736
},
{
"a": 3,
"b": 6,
"px": 4,
"py": 6.333,
"value": 21.699
},
{
"a": 4,
"b": 6,
"px": 5,
"py": 6.334,
"value": 23.244
},
{
"a": 5,
"b": 6,
"px": 6,
"py": 6.317,
"value": 27.839
},
{
"a": 6,
"b": 6,
"px": 7,
"py": 6.33,
"value": 36.881
},
{
"a": 7,
"b": 6,
"px": 8,
"py": 6.402,
"value": 43.259
},
{
"a": 8,
"b": 6,
"px": 9,
"py": 6.535,
"value": 38.745
}
];
const options = {
"accessibility": {
"description": "A warped coordinate surface retains two peaks and its underlying topology. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Carpet chart: A warped coordinate surface retains two peaks and its underlying topology"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "px",
"type": "datum",
"value": 4.594
},
"text": "포인트·범위 하이라이트 · 4"
}
],
"axes": {
"x": false,
"y": false
},
"create": {
"adaptive": {
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "px",
"type": "datum",
"value": 4.594
}
}
],
"interaction": {
"controls": {
"annotations": true,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"selection": {
"ariaLabel": "대화형 선택",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "px",
"mode": "multiple",
"toggle": true
},
"tooltip": {
"fields": [
{
"field": "a",
"format": "number",
"label": "A"
},
{
"field": "b",
"format": "number",
"label": "B"
},
{
"field": "px",
"format": "number",
"label": "Px"
},
{
"field": "py",
"format": "number",
"label": "Py"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Carpet",
"trigger": "mark"
}
},
"legend": {
"field": "value",
"interactive": false,
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "continuous",
"orientation": "horizontal",
"position": "bottom",
"title": "값",
"visible": true
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "A warped coordinate surface retains two peaks and its underlying topology",
"text": "Carpet chart"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"type": "quantitative"
}
};
Graflume.carpet('#chart', data, options);이식 가능한 스키마
{
"accessibility": {
"description": "A warped coordinate surface retains two peaks and its underlying topology. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Carpet chart: A warped coordinate surface retains two peaks and its underlying topology"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "px",
"type": "datum",
"value": 4.594
},
"text": "포인트·범위 하이라이트 · 4"
}
],
"axes": {
"x": false,
"y": false
},
"create": {
"adaptive": {
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "px",
"type": "datum",
"value": 4.594
}
}
],
"interaction": {
"controls": {
"annotations": true,
"export": true,
"fullscreen": true,
"labels": {
"controls": "차트 조작",
"enterFullscreen": "전체 화면 열기",
"exitFullscreen": "전체 화면 닫기",
"exportPng": "PNG 다운로드",
"hideAnnotations": "설명 말풍선 숨기기",
"loop": "반복 재생",
"nextFrame": "다음 프레임",
"pause": "일시 정지",
"play": "재생",
"previousFrame": "이전 프레임",
"reset": "보기 초기화",
"seek": "재생 위치",
"showAnnotations": "설명 말풍선 표시",
"speed": "재생 속도",
"zoomIn": "확대",
"zoomOut": "축소"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"selection": {
"ariaLabel": "대화형 선택",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "px",
"mode": "multiple",
"toggle": true
},
"tooltip": {
"fields": [
{
"field": "a",
"format": "number",
"label": "A"
},
{
"field": "b",
"format": "number",
"label": "B"
},
{
"field": "px",
"format": "number",
"label": "Px"
},
{
"field": "py",
"format": "number",
"label": "Py"
},
{
"field": "value",
"format": "number",
"label": "값"
}
],
"title": "Carpet",
"trigger": "mark"
}
},
"legend": {
"field": "value",
"interactive": false,
"labels": {
"hide": "숨기기",
"show": "표시"
},
"maxItems": 8,
"mode": "continuous",
"orientation": "horizontal",
"position": "bottom",
"title": "값",
"visible": true
},
"locale": "ko",
"mark": {
"fields": {
"value": "value",
"x": "px",
"y": "py"
},
"options": {
"levels": 4,
"mode": "grid"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "A warped coordinate surface retains two peaks and its underlying topology",
"text": "Carpet chart"
},
"width": "container",
"x": {
"field": "a",
"title": "Carpet axis A",
"type": "quantitative"
},
"y": {
"field": "b",
"title": "Carpet axis B",
"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.
3 modes · 0 compatibility identifiers
| ID | Name | Quick API | mode | mark | renderer |
|---|---|---|---|---|---|
carpet | Carpet chart | carpet() | default | carpet | canvas |
carpet-scatter | Carpet scatter overlay | carpetScatter() | scatter | carpet | canvas |
carpet-contour | Carpet contour overlay | carpetContour() | contour | carpet | canvas |
매뉴얼
ARIA · table fallbackCanvas ARIA 메타데이터에 텍스트 요약과 표 대체 표현을 함께 제공합니다.
standard · large · ultrastandard·large·ultra 프로필은 렌더링 작업량을 제한합니다.