레이더 차트

9179 단어 캔버스
데모: ht tp // 코데펜. 이오/모 4_9/펜/도 Px


const canvas = document.getElementById("radarChart");
const ctx = canvas.getContext("2d");

const SIZE = 320;
const MAX_LEVEL = 3;
const CENTER = SIZE / 2;
const STRIDE = CENTER / MAX_LEVEL;

const LEVELS = [3, 2, 1, 3];

const LINE_COLOR = "rgba(0,255,0,.8)";
const CHART_COLOR = "rgba(0,255,0,.6)";

canvas.width = canvas.height = SIZE;

// base
ctx.strokeStyle = LINE_COLOR;

for(let i = 1; i < MAX_LEVEL + 1; i++) {
  ctx.beginPath();
  ctx.moveTo(CENTER, (MAX_LEVEL-i) * STRIDE);
  ctx.lineTo(CENTER + STRIDE * i, CENTER);
  ctx.lineTo(CENTER, CENTER + STRIDE * i);
  ctx.lineTo((MAX_LEVEL-i) * STRIDE, CENTER);
  ctx.closePath();
  ctx.stroke();
}

ctx.beginPath();
ctx.moveTo(CENTER, 0);
ctx.lineTo(CENTER, SIZE);
ctx.closePath();
ctx.stroke();

ctx.beginPath();
ctx.moveTo(0, CENTER);
ctx.lineTo(SIZE, CENTER);
ctx.closePath();
ctx.stroke();

// chart
ctx.fillStyle = CHART_COLOR;
ctx.beginPath();
ctx.moveTo(CENTER, (MAX_LEVEL-LEVELS[0]) * STRIDE);
ctx.lineTo(CENTER + STRIDE * LEVELS[1], CENTER);
ctx.lineTo(CENTER, CENTER + STRIDE * LEVELS[2]);
ctx.lineTo((MAX_LEVEL-LEVELS[3]) * STRIDE, CENTER);
ctx.closePath();
ctx.fill();

미세한 디자인 사양이 없으면 Chart.js

참고
차트, 그래프를 작성하는데 좋을 것 같은 자바스크립트 라이브러리 6선
↓원주상 정점의 취득의 공부가 될 것 같다
ht tp // 코데펜. 이오 / 테바 바이 ぢ의 / 펜 / Mbj ↓ w

좋은 웹페이지 즐겨찾기