Skip to content

charton API


charton API / @chart-on/core / index / NumericScale

Class: NumericScale ​

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

A linear horizontal scale over numbers (prices, maturities, strikes), for NumericChart. Unlike TimeScale, positions are not bar indices: x maps straight to pixels, so gaps between items keep their true width.

Pixels are plot-relative css px, 0 at the plot's left edge. With invert, larger values sit further left.

Constructors ​

Constructor ​

new NumericScale(options?): NumericScale

Defined in: packages/core/src/numeric/scale.ts:30

Parameters ​

options? ​
invert? ​

boolean

Returns ​

NumericScale

Properties ​

invert ​

invert: boolean = false

Defined in: packages/core/src/numeric/scale.ts:28


max ​

max: number = 1

Defined in: packages/core/src/numeric/scale.ts:27

Value at the right edge (left edge when inverted).


min ​

min: number = 0

Defined in: packages/core/src/numeric/scale.ts:25

Value at the left edge (right edge when inverted).


width ​

width: number = 0

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

Plot width, css px.

Accessors ​

span ​

Get Signature ​

get span(): number

Defined in: packages/core/src/numeric/scale.ts:35

Visible span in x units.

Returns ​

number

Methods ​

fit() ​

fit(lo, hi, margin?): void

Defined in: packages/core/src/numeric/scale.ts:68

Fit lo to hi with margin (a fraction of the plot width) kept free on both sides. A single value gets a small span around it.

Parameters ​

lo ​

number

hi ​

number

margin? ​

number = 0

Returns ​

void


fromPixel() ​

fromPixel(px): number

Defined in: packages/core/src/numeric/scale.ts:46

The value at plot-relative css px px.

Parameters ​

px ​

number

Returns ​

number


keepInView() ​

keepInView(extent): void

Defined in: packages/core/src/numeric/scale.ts:101

Slide the view back so it keeps some of extent (the data's x range) in view: a fifth of the view, or all of the data when that is narrower. The user can then never pan or zoom the data entirely off screen.

Parameters ​

extent ​

readonly [number, number] | null

Returns ​

void


pan() ​

pan(dx): void

Defined in: packages/core/src/numeric/scale.ts:112

Move the view by dx css px; positive drags the content right, as a pointer drag does.

Parameters ​

dx ​

number

Returns ​

void


setRange() ​

setRange(lo, hi): void

Defined in: packages/core/src/numeric/scale.ts:58

Show lo to hi exactly. Ignored unless both and the span between them are finite and hi > lo.

Parameters ​

lo ​

number

hi ​

number

Returns ​

void


ticks() ​

ticks(minSpacingPx?, format?): PriceTicks

Defined in: packages/core/src/numeric/scale.ts:123

Round label values at least minSpacingPx apart. With format, steps are widened to land on its ticks, as the value axis does.

Parameters ​

minSpacingPx? ​

number = 80

format? ​

PriceFormatModel

Returns ​

PriceTicks


toPixel() ​

toPixel(x): number

Defined in: packages/core/src/numeric/scale.ts:40

Plot-relative css px of x.

Parameters ​

x ​

number

Returns ​

number


transform() ​

transform(): [number, number]

Defined in: packages/core/src/numeric/scale.ts:52

Affine coefficients so that px = x * scale + offset.

Returns ​

[number, number]


zoom() ​

zoom(factor, anchorPx?, extent?): void

Defined in: packages/core/src/numeric/scale.ts:85

Scale the visible span by factor (above 1 zooms out) around the value at anchorPx, which stays at the same pixel. With extent (the data's x range), the view gets no wider than ten times the data.

Parameters ​

factor ​

number

anchorPx? ​

number = ...

extent? ​

readonly [number, number] | null

Returns ​

void