[D3] Power scales 사용

파워 스케일은 선형 스케일과 유사하지만 출력 범위 값이 계산되기 전에 입력 도메인 값에 지수 변환을 적용합니다.

범위 값 y는 도메인 값 x에 대한 식은 y = mx^k + b로 표현됩니다. k는 지수 값입니다.

scalePow(domain, range)

지정된 도메인과 범위를 가진 지수 1인 파워 스케일을 생성합니다.

const x = d3.scalePow([0, 100], [0, 1000])
x(50) // 500

scaleSqrt(domain, range)

지정된 도메인과 범위를 가진 지수 0.5인 파워 스케일을 생성합니다.

const x = d3.scalePow([0, 100], [0, 1000])
x(50) // 707.1067811865476

pow.exponent(exponent)

지수가 지정되면 현재 지수를 지정된 값으로 설정하고 스케일을 반환합니다. 지정되지 않으면 현재 지수를 반환합니다.

const x = d3.scalePow([0, 100], [0,1000]).exponent(2)
console.log(x(50)) // 250
x.exponent() // 2