Skip to content

Documentation / @finchart/core / Scale

Interface: Scale

Defined in: packages/core/src/scale/types.ts:5

데이터 도메인 ↔ 화면 좌표의 단방향 매핑. pan/zoom에서 도메인이 계속 바뀌므로 가변(mutable)이다. 잘못된 입력은 Result가 아니라 throw로 알린다.

Methods

expand()?

optional expand(range, ratio, hints?): [number, number]

Defined in: packages/core/src/scale/types.ts:37

데이터 구간에 자기 산수로 여유를 준다. 생략하면 선형 가산([min - span·ratio, max + span·ratio])을 쓴다 — 기본 산수로 충분한 스케일은 아무것도 안 적으면 되고, 다른 기하를 가진 스케일만 자기 것을 낸다.

로그 축이 이 자리를 요구한 실소비자다 — 가산 여유는 min이 작을수록 아래로 더 많이 빼서, 구간 폭이 넓은 데이터에서는 하한이 0을 넘어가 LogScale.setDomain이 거절한다.

ratio는 구간 폭에 대한 비율이다 — 무엇의 폭인지는 스케일이 정한다 (선형은 값의 폭, 로그는 로그 공간의 폭).

Parameters

range

readonly [number, number]

ratio

number

hints?

ExpandHints

Returns

[number, number]


getDomain()

getDomain(): [number, number]

Defined in: packages/core/src/scale/types.ts:7

데이터 도메인 [min, max]

Returns

[number, number]


getRange()

getRange(): [number, number]

Defined in: packages/core/src/scale/types.ts:15

화면 범위 [start, end] (px).

start > end인 역방향도 허용한다. 화면 y는 아래로 증가하므로 y축은 [bottom, top]으로 설정해 큰 값이 위에 오게 만든다 — 이 반전을 스케일이 들고 있어야 차트와 축이 같은 좌표를 본다.

Returns

[number, number]


invert()

invert(screenValue): number

Defined in: packages/core/src/scale/types.ts:23

화면 좌표 → 데이터 값

Parameters

screenValue

number

Returns

number


scale()

scale(value): number

Defined in: packages/core/src/scale/types.ts:21

데이터 값 → 화면 좌표

Parameters

value

number

Returns

number


setDomain()

setDomain(min, max): void

Defined in: packages/core/src/scale/types.ts:17

Parameters

min

number

max

number

Returns

void


setRange()

setRange(min, max): void

Defined in: packages/core/src/scale/types.ts:18

Parameters

min

number

max

number

Returns

void