@@ -42,9 +42,9 @@ it("log.domain(…) coerces values to numbers", () => {
42
42
it ( "log.domain(…) can take negative values" , ( ) => {
43
43
const x = scaleLog ( ) . domain ( [ - 100 , - 1 ] ) ;
44
44
assert . deepStrictEqual ( x . ticks ( ) . map ( x . tickFormat ( Infinity ) ) , [
45
- "−1e+2 " ,
46
- "−9e+1 " , "−8e+1 " , "−7e+1 " , "−6e+1 " , "−5e+1 " , "−4e+1 " , "−3e+1 " , "−2e+1 " , "−1e+1 " ,
47
- "−9e+0 " , "−8e+0 " , "−7e+0 " , "−6e+0 " , "−5e+0 " , "−4e+0 " , "−3e+0 " , "−2e+0 " , "−1e+0 "
45
+ "−100 " ,
46
+ "−90 " , "−80 " , "−70 " , "−60 " , "−50 " , "−40 " , "−30 " , "−20 " , "−10 " ,
47
+ "−9 " , "−8 " , "−7 " , "−6 " , "−5 " , "−4 " , "−3 " , "−2 " , "−1 "
48
48
] ) ;
49
49
assertInDelta ( x ( - 50 ) , 0.150515 ) ;
50
50
} ) ;
@@ -297,15 +297,15 @@ it("log.base(base).ticks() generates the expected power-of-base ticks", () => {
297
297
298
298
it ( "log.tickFormat() is equivalent to log.tickFormat(10)" , ( ) => {
299
299
const s = scaleLog ( ) ;
300
- assert . deepStrictEqual ( s . domain ( [ 1e-1 , 1e1 ] ) . ticks ( ) . map ( s . tickFormat ( ) ) , [ "1e-1 " , "2e-1 " , "3e-1 " , "4e-1 " , "5e-1 " , "" , "" , "" , "" , "1e+0 " , "2e+0 " , "3e+0 " , "4e+0 " , "5e+0 " , "" , "" , "" , "" , "1e+1 " ] ) ;
300
+ assert . deepStrictEqual ( s . domain ( [ 1e-1 , 1e1 ] ) . ticks ( ) . map ( s . tickFormat ( ) ) , [ "100m " , "200m " , "300m " , "400m " , "500m " , "" , "" , "" , "" , "1 " , "2 " , "3 " , "4 " , "5 " , "" , "" , "" , "" , "10 " ] ) ;
301
301
} ) ;
302
302
303
- it ( "log.tickFormat(count) returns a filtered \".0e \" format" , ( ) => {
303
+ it ( "log.tickFormat(count) returns a filtered \"s \" format" , ( ) => {
304
304
const s = scaleLog ( ) , t = s . domain ( [ 1e-1 , 1e1 ] ) . ticks ( ) ;
305
- assert . deepStrictEqual ( t . map ( s . tickFormat ( 10 ) ) , [ "1e-1 " , "2e-1 " , "3e-1 " , "4e-1 " , "5e-1 " , "" , "" , "" , "" , "1e+0 " , "2e+0 " , "3e+0 " , "4e+0 " , "5e+0 " , "" , "" , "" , "" , "1e+1 " ] ) ;
306
- assert . deepStrictEqual ( t . map ( s . tickFormat ( 5 ) ) , [ "1e-1 ", "2e-1 " , "" , "" , "" , "" , "" , "" , "" , "1e+0 " , "2e+0 " , "" , "" , "" , "" , "" , "" , "" , "1e+1 " ] ) ;
307
- assert . deepStrictEqual ( t . map ( s . tickFormat ( 1 ) ) , [ "1e-1 ", "" , "" , "" , "" , "" , "" , "" , "" , "1e+0 " , "" , "" , "" , "" , "" , "" , "" , "" , "1e+1 " ] ) ;
308
- assert . deepStrictEqual ( t . map ( s . tickFormat ( 0 ) ) , [ "1e-1 ", "" , "" , "" , "" , "" , "" , "" , "" , "1e+0 " , "" , "" , "" , "" , "" , "" , "" , "" , "1e+1 " ] ) ;
305
+ assert . deepStrictEqual ( t . map ( s . tickFormat ( 10 ) ) , [ "100m " , "200m " , "300m " , "400m " , "500m " , "" , "" , "" , "" , "1 " , "2 " , "3 " , "4 " , "5 " , "" , "" , "" , "" , "10 " ] ) ;
306
+ assert . deepStrictEqual ( t . map ( s . tickFormat ( 5 ) ) , [ "100m ", "200m " , "" , "" , "" , "" , "" , "" , "" , "1 " , "2 " , "" , "" , "" , "" , "" , "" , "" , "10 " ] ) ;
307
+ assert . deepStrictEqual ( t . map ( s . tickFormat ( 1 ) ) , [ "100m ", "" , "" , "" , "" , "" , "" , "" , "" , "1 " , "" , "" , "" , "" , "" , "" , "" , "" , "10 " ] ) ;
308
+ assert . deepStrictEqual ( t . map ( s . tickFormat ( 0 ) ) , [ "100m ", "" , "" , "" , "" , "" , "" , "" , "" , "1 " , "" , "" , "" , "" , "" , "" , "" , "" , "10 " ] ) ;
309
309
} ) ;
310
310
311
311
it ( "log.tickFormat(count, format) returns the specified format, filtered" , ( ) => {
@@ -328,71 +328,71 @@ it("log.base(base).tickFormat(count) returns a filtered \",\" format", () => {
328
328
it ( "log.ticks() generates log ticks" , ( ) => {
329
329
const x = scaleLog ( ) ;
330
330
assert . deepStrictEqual ( x . ticks ( ) . map ( x . tickFormat ( Infinity ) ) , [
331
- "1e+0 " , "2e+0 " , "3e+0 " , "4e+0 " , "5e+0 " , "6e+0 " , "7e+0 " , "8e+0 " , "9e+0 " ,
332
- "1e+1 "
331
+ "1 " , "2 " , "3 " , "4 " , "5 " , "6 " , "7 " , "8 " , "9 " ,
332
+ "10 "
333
333
] ) ;
334
334
x . domain ( [ 100 , 1 ] ) ;
335
335
assert . deepStrictEqual ( x . ticks ( ) . map ( x . tickFormat ( Infinity ) ) , [
336
- "1e+2 " ,
337
- "9e+1 " , "8e+1 " , "7e+1 " , "6e+1 " , "5e+1 " , "4e+1 " , "3e+1 " , "2e+1 " , "1e+1 " ,
338
- "9e+0 " , "8e+0 " , "7e+0 " , "6e+0 " , "5e+0 " , "4e+0 " , "3e+0 " , "2e+0 " , "1e+0 "
336
+ "100 " ,
337
+ "90 " , "80 " , "70 " , "60 " , "50 " , "40 " , "30 " , "20 " , "10 " ,
338
+ "9 " , "8 " , "7 " , "6 " , "5 " , "4 " , "3 " , "2 " , "1 "
339
339
] ) ;
340
340
x . domain ( [ 0.49999 , 0.006029505943610648 ] ) ;
341
341
assert . deepStrictEqual ( x . ticks ( ) . map ( x . tickFormat ( Infinity ) ) , [
342
- "4e-1 " , "3e-1 " , "2e-1 " , "1e-1 " ,
343
- "9e-2 " , "8e-2 " , "7e-2 " , "6e-2 " , "5e-2 " , "4e-2 " , "3e-2 " , "2e-2 " , "1e-2 " ,
344
- "9e-3 " , "8e-3 " , "7e-3 "
342
+ "400m " , "300m " , "200m " , "100m " ,
343
+ "90m " , "80m " , "70m " , "60m " , "50m " , "40m " , "30m " , "20m " , "10m " ,
344
+ "9m " , "8m " , "7m "
345
345
] ) ;
346
346
x . domain ( [ 0.95 , 1.05e8 ] ) ;
347
347
assert . deepStrictEqual ( x . ticks ( ) . map ( x . tickFormat ( 8 ) ) . filter ( String ) , [
348
- "1e+0 " , "1e+1 " , "1e+2 " , "1e+3 " , "1e+4 " , "1e+5 " , "1e+6 " , "1e+7 " , "1e+8 "
348
+ "1 " , "10 " , "100 " , "1k " , "10k " , "100k " , "1M " , "10M " , "100M "
349
349
] ) ;
350
350
} ) ;
351
351
352
352
it ( "log.tickFormat(count) filters ticks to about count" , ( ) => {
353
353
const x = scaleLog ( ) ;
354
354
assert . deepStrictEqual ( x . ticks ( ) . map ( x . tickFormat ( 5 ) ) , [
355
- "1e+0 " , "2e+0 " , "3e+0 " , "4e+0 " , "5e+0 " , "" , "" , "" , "" ,
356
- "1e+1 "
355
+ "1 " , "2 " , "3 " , "4 " , "5 " , "" , "" , "" , "" ,
356
+ "10 "
357
357
] ) ;
358
358
x . domain ( [ 100 , 1 ] ) ;
359
359
assert . deepStrictEqual ( x . ticks ( ) . map ( x . tickFormat ( 10 ) ) , [
360
- "1e+2 " ,
361
- "" , "" , "" , "" , "5e+1 " , "4e+1 " , "3e+1 " , "2e+1 " , "1e+1 " ,
362
- "" , "" , "" , "" , "5e+0 " , "4e+0 " , "3e+0 " , "2e+0 " , "1e+0 "
360
+ "100 " ,
361
+ "" , "" , "" , "" , "50 " , "40 " , "30 " , "20 " , "10 " ,
362
+ "" , "" , "" , "" , "5 " , "4 " , "3 " , "2 " , "1 "
363
363
] ) ;
364
364
} ) ;
365
365
366
366
it ( "log.ticks(count) filters powers-of-ten ticks for huge domains" , ( ) => {
367
367
const x = scaleLog ( ) . domain ( [ 1e10 , 1 ] ) ;
368
- assert . deepStrictEqual ( x . ticks ( ) . map ( x . tickFormat ( ) ) , [ "1e+10 " , "1e+9 " , "1e+8 " , "1e+7 " , "1e+6 " , "1e+5 " , "1e+4 " , "1e+3 " , "1e+2 " , "1e+1 " , "1e+0 " ] ) ;
368
+ assert . deepStrictEqual ( x . ticks ( ) . map ( x . tickFormat ( ) ) , [ "10G " , "1G " , "100M " , "10M " , "1M " , "100k " , "10k " , "1k " , "100 " , "10 " , "1 " ] ) ;
369
369
x . domain ( [ 1e-29 , 1e-1 ] ) ;
370
- assert . deepStrictEqual ( x . ticks ( ) . map ( x . tickFormat ( ) ) , [ "1e-28 " , "1e-26 " , "1e-24 " , "1e-22 " , "1e-20 " , "1e-18 " , "1e-16 " , "1e-14 " , "1e-12 " , "1e-10 " , "1e-8 " , "1e-6 " , "1e-4 " , "1e-2 " ] ) ;
370
+ assert . deepStrictEqual ( x . ticks ( ) . map ( x . tickFormat ( ) ) , [ "0.0001y " , "0.01y " , "1y " , "100y " , "10z " , "1a " , "100a " , "10f " , "1p " , "100p " , "10n " , "1µ " , "100µ " , "10m " ] ) ;
371
371
} ) ;
372
372
373
373
it ( "log.ticks() generates ticks that cover the domain" , ( ) => {
374
374
const x = scaleLog ( ) . domain ( [ 0.01 , 10000 ] ) ;
375
375
assert . deepStrictEqual ( x . ticks ( 20 ) . map ( x . tickFormat ( 20 ) ) , [
376
- "1e-2 " , "2e-2 " , "3e-2 " , "" , "" , "" , "" , "" , "" ,
377
- "1e-1 " , "2e-1 " , "3e-1 " , "" , "" , "" , "" , "" , "" ,
378
- "1e+0 " , "2e+0 " , "3e+0 " , "" , "" , "" , "" , "" , "" ,
379
- "1e+1 " , "2e+1 " , "3e+1 " , "" , "" , "" , "" , "" , "" ,
380
- "1e+2 " , "2e+2 " , "3e+2 " , "" , "" , "" , "" , "" , "" ,
381
- "1e+3 " , "2e+3 " , "3e+3 " , "" , "" , "" , "" , "" , "" ,
382
- "1e+4 "
376
+ "10m " , "20m " , "30m " , "" , "" , "" , "" , "" , "" ,
377
+ "100m " , "200m " , "300m " , "" , "" , "" , "" , "" , "" ,
378
+ "1 " , "2 " , "3 " , "" , "" , "" , "" , "" , "" ,
379
+ "10 " , "20 " , "30 " , "" , "" , "" , "" , "" , "" ,
380
+ "100 " , "200 " , "300 " , "" , "" , "" , "" , "" , "" ,
381
+ "1k " , "2k " , "3k " , "" , "" , "" , "" , "" , "" ,
382
+ "10k "
383
383
] ) ;
384
384
} ) ;
385
385
386
386
it ( "log.ticks() generates ticks that cover the niced domain" , ( ) => {
387
387
const x = scaleLog ( ) . domain ( [ 0.0124123 , 1230.4 ] ) . nice ( ) ;
388
388
assert . deepStrictEqual ( x . ticks ( 20 ) . map ( x . tickFormat ( 20 ) ) , [
389
- "1e-2 " , "2e-2 " , "3e-2 " , "" , "" , "" , "" , "" , "" ,
390
- "1e-1 " , "2e-1 " , "3e-1 " , "" , "" , "" , "" , "" , "" ,
391
- "1e+0 " , "2e+0 " , "3e+0 " , "" , "" , "" , "" , "" , "" ,
392
- "1e+1 " , "2e+1 " , "3e+1 " , "" , "" , "" , "" , "" , "" ,
393
- "1e+2 " , "2e+2 " , "3e+2 " , "" , "" , "" , "" , "" , "" ,
394
- "1e+3 " , "2e+3 " , "3e+3 " , "" , "" , "" , "" , "" , "" ,
395
- "1e+4 "
389
+ "10m " , "20m " , "30m " , "" , "" , "" , "" , "" , "" ,
390
+ "100m " , "200m " , "300m " , "" , "" , "" , "" , "" , "" ,
391
+ "1 " , "2 " , "3 " , "" , "" , "" , "" , "" , "" ,
392
+ "10 " , "20 " , "30 " , "" , "" , "" , "" , "" , "" ,
393
+ "100 " , "200 " , "300 " , "" , "" , "" , "" , "" , "" ,
394
+ "1k " , "2k " , "3k " , "" , "" , "" , "" , "" , "" ,
395
+ "10k "
396
396
] ) ;
397
397
} ) ;
398
398
0 commit comments