source: node_modules/d3-scale/src/threshold.js@ e4c61dd

Last change on this file since e4c61dd was e4c61dd, checked in by istevanoska <ilinastevanoska@…>, 6 months ago

Prototype 1.1

  • Property mode set to 100644
File size: 997 bytes
RevLine 
[e4c61dd]1import {bisect} from "d3-array";
2import {initRange} from "./init.js";
3
4export default function threshold() {
5 var domain = [0.5],
6 range = [0, 1],
7 unknown,
8 n = 1;
9
10 function scale(x) {
11 return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;
12 }
13
14 scale.domain = function(_) {
15 return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();
16 };
17
18 scale.range = function(_) {
19 return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();
20 };
21
22 scale.invertExtent = function(y) {
23 var i = range.indexOf(y);
24 return [domain[i - 1], domain[i]];
25 };
26
27 scale.unknown = function(_) {
28 return arguments.length ? (unknown = _, scale) : unknown;
29 };
30
31 scale.copy = function() {
32 return threshold()
33 .domain(domain)
34 .range(range)
35 .unknown(unknown);
36 };
37
38 return initRange.apply(scale, arguments);
39}
Note: See TracBrowser for help on using the repository browser.