@@ -39,20 +39,20 @@ export class Tooltip extends Mark {
39
39
this . indexesBySvg . set ( svg , ( indexes = [ index ] ) ) ;
40
40
const dot = select ( svg )
41
41
. on ( "pointermove" , ( event ) => {
42
- let i , xi , yi ;
42
+ let i , xi , yi , fxi , fyi ;
43
43
if ( event . buttons === 0 ) {
44
44
const [ xp , yp ] = pointer ( event ) ;
45
45
let ri = maxRadius * maxRadius ;
46
46
for ( const index of indexes ) {
47
- const fxj = fx ( index . fx ) ;
48
- const fyj = fy ( index . fy ) ;
47
+ const oxj = fx ( index . fx ) - marginLeft ;
48
+ const oyj = fy ( index . fy ) - marginTop ;
49
49
for ( const j of index ) {
50
- const xj = fxj + X [ j ] - marginLeft ;
51
- const yj = fyj + Y [ j ] - marginTop ;
50
+ const xj = X [ j ] + oxj ;
51
+ const yj = Y [ j ] + oyj ;
52
52
const dx = xj - xp ;
53
53
const dy = yj - yp ;
54
54
const rj = dx * dx + dy * dy ;
55
- if ( rj <= ri ) ( i = j ) , ( ri = rj ) , ( xi = xj ) , ( yi = yj ) ;
55
+ if ( rj <= ri ) ( i = j ) , ( ri = rj ) , ( xi = xj ) , ( yi = yj ) , ( fxi = index . fx ) , ( fyi = index . fy ) ;
56
56
}
57
57
}
58
58
}
@@ -65,8 +65,8 @@ export class Tooltip extends Mark {
65
65
[
66
66
`${ x . label ?? "x" } = ${ raw . x [ i ] } ` ,
67
67
`${ y . label ?? "y" } = ${ raw . y [ i ] } ` ,
68
- `${ fx . label ?? "fx" } = ${ raw . fx [ i ] } ` ,
69
- `${ fy . label ?? "fy" } = ${ raw . fy [ i ] } `
68
+ `${ fx . label ?? "fx" } = ${ fxi } ` ,
69
+ `${ fy . label ?? "fy" } = ${ fyi } `
70
70
] . join ( "\n" )
71
71
) ;
72
72
}
0 commit comments