scale-helper-functions

Helper to create scales

Usage no npm install needed!

<script type="module">
  import scaleHelperFunctions from 'https://cdn.skypack.dev/scale-helper-functions';
</script>

README

scale-helper-functions

Compendium of helpers to create scales

Installation

Using npm, npm i scale-helper-functions.

Using yarn, yarn add scale-helper-functions.

Usage

Using import

import {createLinearScale} from 'scale-helper-functions';

const domain = [0, 10];
const range = [0, 100];

const scale = createLinearScale(domain, range);

const transformed = scale(5); // transformed is 50

In a CommonJS environment

const {createOrdinalScale} = require('scale-helper-functions');

const animals = ['cat', 'dog'];
const range = ['white', 'brown'];

const scale = createOrdinalScale(animals, range);
const color = scale('dog'); // color is brown

Table of contents

Type aliases

Functions

Type aliases

OrdinalScaleFunction

Ƭ OrdinalScaleFunction: (s: string) => string

Type declaration:

▸ (s: string): string

Parameters:

Name Type
s string

Returns: string

Defined in: modules/types.ts:3


ScaleFunction

Ƭ ScaleFunction: (n: number) => number | string

Type declaration:

▸ (n: number): number | string

Parameters:

Name Type
n number

Returns: number | string

Defined in: modules/types.ts:1

Functions

createLinearInterpolator

createLinearInterpolator(domain: number[]): ScaleFunction

Function that given a domain, returns a scale that will trasform a number to a value between 0 and 1

Parameters:

Name Type
domain number[]

Returns: ScaleFunction

Defined in: modules/interpolation.ts:9


createLinearScale

createLinearScale(domain: number[], range: Range): ScaleFunction

Creates a linear scale

Parameters:

Name Type Description
domain number[]
range Range Desired resulting values of scaling

Returns: ScaleFunction

The scale function

Defined in: modules/scales.ts:13


createLogScale

createLogScale(domain: number[], range: Range, base?: number): ScaleFunction

Creates a log scale

Parameters:

Name Type Description
domain number[]
range Range Desired resulting values of scaling
base? number -

Returns: ScaleFunction

The scale function

Defined in: modules/scales.ts:25


createOpacityScale

createOpacityScale(domain: number[]): ScaleFunction

Returns, given a domain, a function that will convert a number to another one between 0 and 255 Useful for calculating opacity values for RGBA strings

export

Parameters:

Name Type
domain number[]

Returns: ScaleFunction

The scale function

Defined in: modules/scales.ts:77


createOrdinalScale

createOrdinalScale(domain: string[], range: string[]): OrdinalScaleFunction

Returns an ordinal scale Discrete input and discrete output

Parameters:

Name Type Description
domain string[] Discrete list of values ['A', 'B', 'C']
range string[] Desired resulting values of scaling

Returns: OrdinalScaleFunction

The scale function

Defined in: modules/scales.ts:65


createQuantileScale

createQuantileScale(dataset: number[], range: Range): ScaleFunction

Returns a quantile scale based on dataset Maps continuous numeric input to discrete values. The domain is defined by an array of numbers:

Parameters:

Name Type Description
dataset number[] Full dataset to take into account
range Range Desired resulting values of scaling

Returns: ScaleFunction

The scale function

Defined in: modules/scales.ts:41


createQuantizeScale

createQuantizeScale(domain: number[], range: Range): ScaleFunction

Returns a quantized scale based on dataset extent Accepts continuous input and outputs a number of discrete quantities defined by the range.

Parameters:

Name Type Description
domain number[]
range Range Desired resulting values of scaling

Returns: ScaleFunction

The scale function

Defined in: modules/scales.ts:53


getLinearDomainRange

getLinearDomainRange(domain: number[], segmentsAmount: number): number[]

Gets a domain of N elements from a domain with less length

export

Parameters:

Name Type Description
domain number[] The existing domain
segmentsAmount number The desired length for the linear domain

Returns: number[]

The resulting domain

Defined in: modules/helpers.ts:9