MCPcopy
hub / github.com/chart-kit/react-native-chart-kit / createLinearScale

Function createLinearScale

packages/core/src/scales/linear.ts:10–37  ·  view source on GitHub ↗
({
  domain = "auto",
  values = [],
  range
}: CreateLinearScaleOptions)

Source from the content-addressed store, hash-verified

8};
9
10export const createLinearScale = ({
11 domain = "auto",
12 values = [],
13 range
14}: CreateLinearScaleOptions): LinearScale => {
15 const resolvedDomain = resolveNumericDomain(values, domain);
16 const domainSpan = resolvedDomain[1] - resolvedDomain[0];
17 const rangeSpan = range[1] - range[0];
18
19 return {
20 domain: resolvedDomain,
21 range,
22 scale: (value: number) => {
23 if (domainSpan === 0) {
24 return range[0];
25 }
26
27 return range[0] + ((value - resolvedDomain[0]) / domainSpan) * rangeSpan;
28 },
29 invert: (value: number) => {
30 if (rangeSpan === 0) {
31 return resolvedDomain[0];
32 }
33
34 return resolvedDomain[0] + ((value - range[0]) / rangeSpan) * domainSpan;
35 }
36 };
37};

Callers 8

scales.test.tsFile · 0.90
buildBarChartModelFunction · 0.90
useChartModelFunction · 0.90
buildLineChartXScaleFunction · 0.90
runLineGeometryBuildFunction · 0.85
runBarGeometryBuildFunction · 0.85

Calls 1

resolveNumericDomainFunction · 0.90

Tested by

no test coverage detected