選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 

34 行
802 B

  1. import {bisect} from "d3-array";
  2. import {slice} from "./array";
  3. export default function threshold() {
  4. var domain = [0.5],
  5. range = [0, 1],
  6. n = 1;
  7. function scale(x) {
  8. if (x <= x) return range[bisect(domain, x, 0, n)];
  9. }
  10. scale.domain = function(_) {
  11. return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();
  12. };
  13. scale.range = function(_) {
  14. return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();
  15. };
  16. scale.invertExtent = function(y) {
  17. var i = range.indexOf(y);
  18. return [domain[i - 1], domain[i]];
  19. };
  20. scale.copy = function() {
  21. return threshold()
  22. .domain(domain)
  23. .range(range);
  24. };
  25. return scale;
  26. }