source: node_modules/d3-scale/src/tickFormat.js@ a762898

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

Prototype 1.1

  • Property mode set to 100644
File size: 1.1 KB
RevLine 
[e4c61dd]1import {tickStep} from "d3-array";
2import {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from "d3-format";
3
4export default function tickFormat(start, stop, count, specifier) {
5 var step = tickStep(start, stop, count),
6 precision;
7 specifier = formatSpecifier(specifier == null ? ",f" : specifier);
8 switch (specifier.type) {
9 case "s": {
10 var value = Math.max(Math.abs(start), Math.abs(stop));
11 if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;
12 return formatPrefix(specifier, value);
13 }
14 case "":
15 case "e":
16 case "g":
17 case "p":
18 case "r": {
19 if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e");
20 break;
21 }
22 case "f":
23 case "%": {
24 if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2;
25 break;
26 }
27 }
28 return format(specifier);
29}
Note: See TracBrowser for help on using the repository browser.