[76] | 1 | require("./../../lib/env-js/envjs/node"); |
---|
| 2 | require("./../../d3"); |
---|
| 3 | |
---|
| 4 | var f = d3.format(" .3f"); |
---|
| 5 | |
---|
| 6 | var x = d3.scale.linear(); |
---|
| 7 | console.log("domain([0, 1]).range([0, 1]):"); |
---|
| 8 | console.log(" -0.5 -> ", f(x(-0.5))); |
---|
| 9 | console.log(" 0.0 -> ", f(x(0.0))); |
---|
| 10 | console.log(" 0.5 -> ", f(x(0.5))); |
---|
| 11 | console.log(" 1.0 -> ", f(x(1.0))); |
---|
| 12 | console.log(" 1.5 -> ", f(x(1.5))); |
---|
| 13 | console.log(""); |
---|
| 14 | |
---|
| 15 | var x = d3.scale.linear().domain([1, 2]); |
---|
| 16 | console.log("domain([1, 2]).range([0, 1]):"); |
---|
| 17 | console.log(" 0.5 -> ", f(x(0.5))); |
---|
| 18 | console.log(" 1.0 -> ", f(x(1.0))); |
---|
| 19 | console.log(" 1.5 -> ", f(x(1.5))); |
---|
| 20 | console.log(" 2.0 -> ", f(x(2.0))); |
---|
| 21 | console.log(" 2.5 -> ", f(x(2.5))); |
---|
| 22 | console.log(""); |
---|
| 23 | |
---|
| 24 | var x = d3.scale.linear().domain([new Date(1990, 0, 1), new Date(1991, 0, 1)]); |
---|
| 25 | console.log("domain([01/01/1990, 01/01/1991]).range([0, 1]):"); |
---|
| 26 | console.log(" 10/20/1989 -> ", f(x(new Date(1989, 09, 20)))); |
---|
| 27 | console.log(" 01/01/1990 -> ", f(x(new Date(1990, 00, 01)))); |
---|
| 28 | console.log(" 03/15/1990 -> ", f(x(new Date(1990, 02, 15)))); |
---|
| 29 | console.log(" 05/27/1990 -> ", f(x(new Date(1990, 04, 27)))); |
---|
| 30 | console.log(" 01/01/1991 -> ", f(x(new Date(1991, 00, 01)))); |
---|
| 31 | console.log(" 03/15/1991 -> ", f(x(new Date(1991, 02, 15)))); |
---|
| 32 | console.log(""); |
---|
| 33 | |
---|
| 34 | var x = d3.scale.linear().range(["red", "blue"]); |
---|
| 35 | console.log("domain([0, 1]).range([\"red\", \"blue\"]):"); |
---|
| 36 | console.log(" -0.5 -> ", x(-0.5)); |
---|
| 37 | console.log(" 0.0 -> ", x(0.0)); |
---|
| 38 | console.log(" 0.5 -> ", x(0.5)); |
---|
| 39 | console.log(" 1.0 -> ", x(1.0)); |
---|
| 40 | console.log(" 1.5 -> ", x(1.5)); |
---|
| 41 | console.log(""); |
---|
| 42 | |
---|
| 43 | var x = d3.scale.linear().range(["red", "blue"]).interpolate(d3.interpolateHsl); |
---|
| 44 | console.log("domain([0, 1]).range([\"red\", \"blue\"]).interpolate(hsl):"); |
---|
| 45 | console.log(" -0.5 -> ", x(-0.5)); |
---|
| 46 | console.log(" 0.0 -> ", x(0.0)); |
---|
| 47 | console.log(" 0.5 -> ", x(0.5)); |
---|
| 48 | console.log(" 1.0 -> ", x(1.0)); |
---|
| 49 | console.log(" 1.5 -> ", x(1.5)); |
---|
| 50 | console.log(""); |
---|
| 51 | |
---|
| 52 | var x = d3.scale.linear(); |
---|
| 53 | console.log("domain coercion:"); |
---|
| 54 | console.log(" String -> ", x.domain(["1", "2"]).domain()); |
---|
| 55 | console.log(" Date -> ", x.domain([new Date(1990, 0, 1), new Date(1991, 0, 1)]).domain()); |
---|
| 56 | console.log(" Number -> ", x.domain([new Number(41), new Number(42)]).domain()); |
---|
| 57 | console.log(""); |
---|
| 58 | |
---|
| 59 | var x = d3.scale.linear(); |
---|
| 60 | console.log("domain coercion, invert:"); |
---|
| 61 | console.log(" String -> ", x.domain(["0", "2"]).invert(.5)); |
---|
| 62 | console.log(" Date -> ", x.domain([new Date(1990, 0, 1), new Date(1991, 0, 1)]).invert(.5)); |
---|
| 63 | console.log(" Number -> ", x.domain([new Number(0), new Number(42)]).invert(.5)); |
---|
| 64 | console.log(""); |
---|
| 65 | |
---|
| 66 | var x = d3.scale.linear(); |
---|
| 67 | console.log("range coercion, invert:"); |
---|
| 68 | console.log(" String -> ", x.range(["0", "2"]).invert("1")); |
---|
| 69 | console.log(" Date -> ", x.range([new Date(1990, 0, 1), new Date(1991, 0, 1)]).invert(new Date(1990, 6, 2, 13))); |
---|
| 70 | console.log(" Number -> ", x.range([new Number(0), new Number(42)]).invert(new Number(21))); |
---|
| 71 | console.log(" ??? -> ", x.range(["#000", "#fff"]).invert("#999")); // can't be coerced |
---|
| 72 | console.log(""); |
---|
| 73 | |
---|
| 74 | var x = d3.scale.linear(); |
---|
| 75 | console.log("ticks:"); |
---|
| 76 | console.log(" 1 -> ", x.ticks(1).map(x.tickFormat(1)).join(", ")); |
---|
| 77 | console.log(" 2 -> ", x.ticks(2).map(x.tickFormat(2)).join(", ")); |
---|
| 78 | console.log(" 5 -> ", x.ticks(5).map(x.tickFormat(5)).join(", ")); |
---|
| 79 | console.log(" 10 -> ", x.ticks(10).map(x.tickFormat(10)).join(", ")); |
---|
| 80 | console.log(""); |
---|
| 81 | |
---|
| 82 | var x = d3.scale.linear().domain([1, 0]); |
---|
| 83 | console.log("descending ticks:"); |
---|
| 84 | console.log(" 1 -> ", x.ticks(1).map(x.tickFormat(1)).join(", ")); |
---|
| 85 | console.log(" 2 -> ", x.ticks(2).map(x.tickFormat(2)).join(", ")); |
---|
| 86 | console.log(" 5 -> ", x.ticks(5).map(x.tickFormat(5)).join(", ")); |
---|
| 87 | console.log(" 10 -> ", x.ticks(10).map(x.tickFormat(10)).join(", ")); |
---|
| 88 | console.log(""); |
---|
| 89 | |
---|
| 90 | var x = d3.scale.linear().clamp(true); |
---|
| 91 | console.log("domain clamping:") |
---|
| 92 | console.log(" inspection -> ", x.clamp()); |
---|
| 93 | console.log(" under -> ", x(-1)); |
---|
| 94 | console.log(" over -> ", x(2)); |
---|
| 95 | console.log(""); |
---|
| 96 | |
---|
| 97 | var x = d3.scale.linear().domain([1, 0]).clamp(true); |
---|
| 98 | console.log("domain clamping reversed:") |
---|
| 99 | console.log(" under -> ", x(-1)); |
---|
| 100 | console.log(" over -> ", x(2)); |
---|
| 101 | console.log(""); |
---|
| 102 | |
---|
| 103 | var x = d3.scale.linear().clamp(false); |
---|
| 104 | console.log("domain unclamping:") |
---|
| 105 | console.log(" under -> ", x(-1)); |
---|
| 106 | console.log(" over -> ", x(11)); |
---|
| 107 | console.log(""); |
---|
| 108 | |
---|
| 109 | var x = d3.scale.linear(); |
---|
| 110 | console.log("nice():"); |
---|
| 111 | [[1.1, 10.9], [10.9, 1.1], [.7, 11.001], [123.1, 6.7], [0, .49]].forEach(function(d) { |
---|
| 112 | var s = " [" + d.map(f) + " ]"; |
---|
| 113 | while (s.length < 21) s += " "; |
---|
| 114 | console.log(" ", s + " -> ", x.domain(d).nice().domain().map(f).join(",")); |
---|
| 115 | }); |
---|
| 116 | console.log(""); |
---|