@@ -366,9 +366,9 @@ function axisTextKy(
366
366
...options ,
367
367
dx : anchor === "left" ? + dx - tickSize - tickPadding + + insetLeft : + dx + + tickSize + + tickPadding - insetRight
368
368
} ,
369
- function ( scale , ticks , channels ) {
369
+ function ( scale , data , ticks , channels ) {
370
370
if ( fontVariant === undefined ) this . fontVariant = inferFontVariant ( scale ) ;
371
- if ( text === undefined ) channels . text = inferTextChannel ( scale , ticks , tickFormat , anchor ) ;
371
+ if ( text === undefined ) channels . text = inferTextChannel ( scale , data , ticks , tickFormat , anchor ) ;
372
372
}
373
373
) ;
374
374
}
@@ -413,9 +413,9 @@ function axisTextKx(
413
413
...options ,
414
414
dy : anchor === "bottom" ? + dy + + tickSize + + tickPadding - insetBottom : + dy - tickSize - tickPadding + + insetTop
415
415
} ,
416
- function ( scale , ticks , channels ) {
416
+ function ( scale , data , ticks , channels ) {
417
417
if ( fontVariant === undefined ) this . fontVariant = inferFontVariant ( scale ) ;
418
- if ( text === undefined ) channels . text = inferTextChannel ( scale , ticks , tickFormat , anchor ) ;
418
+ if ( text === undefined ) channels . text = inferTextChannel ( scale , data , ticks , tickFormat , anchor ) ;
419
419
}
420
420
) ;
421
421
}
@@ -545,7 +545,7 @@ function axisMark(mark, k, ariaLabel, data, options, initialize) {
545
545
channels [ k ] = { scale : k , value : identity } ;
546
546
}
547
547
}
548
- initialize ?. call ( this , scale , ticks , channels ) ;
548
+ initialize ?. call ( this , scale , data , ticks , channels ) ;
549
549
const initializedChannels = Object . fromEntries (
550
550
Object . entries ( channels ) . map ( ( [ name , channel ] ) => {
551
551
return [ name , { ...channel , value : valueof ( data , channel . value ) } ] ;
@@ -565,16 +565,16 @@ function axisMark(mark, k, ariaLabel, data, options, initialize) {
565
565
return m ;
566
566
}
567
567
568
- function inferTextChannel ( scale , ticks , tickFormat , anchor ) {
569
- return { value : inferTickFormat ( scale , ticks , tickFormat , anchor ) } ;
568
+ function inferTextChannel ( scale , data , ticks , tickFormat , anchor ) {
569
+ return { value : inferTickFormat ( scale , data , ticks , tickFormat , anchor ) } ;
570
570
}
571
571
572
572
// D3’s ordinal scales simply use toString by default, but if the ordinal scale
573
573
// domain (or ticks) are numbers or dates (say because we’re applying a time
574
574
// interval to the ordinal scale), we want Plot’s default formatter.
575
- export function inferTickFormat ( scale , ticks , tickFormat , anchor ) {
575
+ export function inferTickFormat ( scale , data , ticks , tickFormat , anchor ) {
576
576
return tickFormat === undefined && isTemporalScale ( scale )
577
- ? formatTimeTicks ( scale , ticks , anchor )
577
+ ? formatTimeTicks ( scale , data , ticks , anchor )
578
578
: scale . tickFormat
579
579
? scale . tickFormat ( isIterable ( ticks ) ? null : ticks , tickFormat )
580
580
: tickFormat === undefined
0 commit comments