[D3] Logarithmic scales 사용법

로그 스케일은 선형 스케일과 유사하지만, 출력 범위 값이 계산되기 전에 입력 도메인 값에 로그 변환을 적용합니다. 범위 값 y와 도메인 값 x의 매핑은 다음과 같이 표현될 수 있습니다 y = m log(x) + b

로그 스케일의 도메인은 양수이거나 음수여야 합니다. 0을 포함하면 안됩니다. 양수일 경우 양수 값에 대해서 잘 동작하며 음수일 경우 음수 값에 대해서 잘 동작합니다.

scaleLog(domain, range)

지정된 도메인 및 범위를 설정한 로그 스케일을 반환합니다. 도메인 기본값은 [1,10]이고 범위 기본값은 [0,1]입니다.

const x = d3.scaleLog([1, 10], [0, 960]);

log.base(base)

값이 있을 경우 로그 밑의 기준을 base 값으로 설정합니다.

기본값은 10이고 base가 설정되지 않으면 현재 밑 값을 반환합니다.

log.ticks(count)

로그 규모에 맞게 정의되었습니다. base가 정수일 경우 tick은 균일한 간격을 두고 생성됩니다. 그렇지 않으면 base의 거듭제곱 당 하나의 군금이 반환됩니다. 도메인의 크기가 count보다 크다면 base의 거듭제곱당 최대 한 개가 반환됩니다.

count가 지정되지 않으면 기본값은 10입니다.

log.tickFormat(count, specifier)

선형 스케일과 비슷하지만 로그에 맞게 정의되었습니다. 눈금이 너무 많을 경우 일부에 대해 빈 문자열을 반환할 수 있습니다. 이러한 필터링을 비활성화할려면 count를 Infinity로 설정해야 합니다. 형식 지정자를 통해서 적절한 형식으로 변환할 수 있습니다.

log.nice()

선형 스케일과 유사하지만 도메인의 첫번째 값과 마지막 값 정수 형태의 지수값으로 확장합니다.

Symlog

대칭 로그 변환을 사용하는 대규모 데이터 범위에서 유용한 연속적인 스케일입니다. 도메인에 0을 포함할 수 있고 constant를 설정하여 대칭 로그 변환에 사용하는 상수를 설정할 수 있습니다.

'D3 > 시각화' 카테고리의 다른 글

[D3] Band scales 사용법  (0) 2024.05.22
[D3] Ordinal scales 사용  (0) 2024.05.22
[D3] Power scales 사용  (0) 2024.05.21
[D3] Time-scales 사용법  (0) 2024.05.21
[D3] Linear-scales(선형 스케일) 사용법  (0) 2024.05.21