UNPKG

react-native-chart-kit

Version:

Beautiful React Native charts for dashboards, reports, and data-rich mobile apps.

23 lines (22 loc) 793 B
import { resolveNumericDomain } from "./domain"; export const createLinearScale = ({ domain = "auto", values = [], range }) => { const resolvedDomain = resolveNumericDomain(values, domain); const domainSpan = resolvedDomain[1] - resolvedDomain[0]; const rangeSpan = range[1] - range[0]; return { domain: resolvedDomain, range, scale: (value) => { if (domainSpan === 0) { return range[0]; } return range[0] + ((value - resolvedDomain[0]) / domainSpan) * rangeSpan; }, invert: (value) => { if (rangeSpan === 0) { return resolvedDomain[0]; } return resolvedDomain[0] + ((value - range[0]) / rangeSpan) * domainSpan; } }; };