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?
Returns
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