Skip to content
On this page

Ticks

This module controls how a Axis and PolarAxis choose how to draw tick marks.

module index.ts

type Tick

ts
export type Tick = {
  label: string;
  value: number;
  scaled: number;
  labelLengthPx: number;
};
  • label string
  • value number
  • scaled number
  • labelLengthPx number

type PolarTick

ts
export type PolarTick = Omit<Tick, "scaled"> & {
  scaled: NumericPoint;
};
  • label any
  • value any
  • labelLengthPx any
  • scaled NumericPoint

type ExtendedMetrics

ts
export type ExtendedMetrics = {
  density: number;
  simplicity: number;
  coverage: number;
  legibility: number;
  score: number;
};
  • density number
  • simplicity number
  • coverage number
  • legibility number
  • score number

type TickSolution

ts
export type TickSolution = {
  ticks?: Tick[];
  niceDomain: Domain;
  range: number;
  bestFontSize?: string;
  extendedMetrics?: ExtendedMetrics;
};
  • ticks Tick[]
  • niceDomain Domain
  • range number
  • bestFontSize string
  • extendedMetrics ExtendedMetrics

function solveTicks

ts
(axisLength: number, density: number, domain: Domain, isVertical:
boolean, tickLabeller: AxisTickFormatter, scaler: LinearScaler,
measuredFontSizes: MeasuredCSSLength[]) => TickSolution

Implements the axis labeling routine described in Talbot, Lin, and Hanrahan. An Extension of Wilkinson’s Algorithm for Positioning Tick Labels on Axes, Infovis 2010.

Parameters

Returns TickSolution

Released under the MIT License.