로그 스케일은 선형 스케일과 유사하지만, 출력 범위 값이 계산되기 전에 입력 도메인 값에 로그 변환을 적용합니다. 범위 값 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 |