@@ -366,9 +366,9 @@ function axisTextKy(
366366 ...options ,
367367 dx : anchor === "left" ? + dx - tickSize - tickPadding + + insetLeft : + dx + + tickSize + + tickPadding - insetRight
368368 } ,
369- function ( scale , ticks , channels ) {
369+ function ( scale , data , ticks , channels ) {
370370 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 ) ;
372372 }
373373 ) ;
374374}
@@ -413,9 +413,9 @@ function axisTextKx(
413413 ...options ,
414414 dy : anchor === "bottom" ? + dy + + tickSize + + tickPadding - insetBottom : + dy - tickSize - tickPadding + + insetTop
415415 } ,
416- function ( scale , ticks , channels ) {
416+ function ( scale , data , ticks , channels ) {
417417 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 ) ;
419419 }
420420 ) ;
421421}
@@ -545,7 +545,7 @@ function axisMark(mark, k, ariaLabel, data, options, initialize) {
545545 channels [ k ] = { scale : k , value : identity } ;
546546 }
547547 }
548- initialize ?. call ( this , scale , ticks , channels ) ;
548+ initialize ?. call ( this , scale , data , ticks , channels ) ;
549549 const initializedChannels = Object . fromEntries (
550550 Object . entries ( channels ) . map ( ( [ name , channel ] ) => {
551551 return [ name , { ...channel , value : valueof ( data , channel . value ) } ] ;
@@ -565,16 +565,16 @@ function axisMark(mark, k, ariaLabel, data, options, initialize) {
565565 return m ;
566566}
567567
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 ) } ;
570570}
571571
572572// D3’s ordinal scales simply use toString by default, but if the ordinal scale
573573// domain (or ticks) are numbers or dates (say because we’re applying a time
574574// 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 ) {
576576 return tickFormat === undefined && isTemporalScale ( scale )
577- ? formatTimeTicks ( scale , ticks , anchor )
577+ ? formatTimeTicks ( scale , data , ticks , anchor )
578578 : scale . tickFormat
579579 ? scale . tickFormat ( isIterable ( ticks ) ? null : ticks , tickFormat )
580580 : tickFormat === undefined
0 commit comments