@@ -48,8 +48,15 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) {
4848
4949 var trace = newPointData . trace ;
5050 var carpet = trace . _carpet ;
51- var hoverinfo = cdi . hi || trace . hoverinfo ;
52- var parts = hoverinfo . split ( '+' ) ;
51+
52+ var ij = carpet . ab2ij ( [ cdi . a , cdi . b ] ) ;
53+ var i0 = Math . floor ( ij [ 0 ] ) ;
54+ var ti = ij [ 0 ] - i0 ;
55+ var j0 = Math . floor ( ij [ 1 ] ) ;
56+ var tj = ij [ 1 ] - j0 ;
57+ var xy = carpet . evalxy ( [ ] , i0 , j0 , ti , tj ) ;
58+ newPointData . yLabel = xy [ 1 ] . toFixed ( 3 ) ;
59+
5360 var text = [ ] ;
5461
5562 function textPart ( ax , val ) {
@@ -64,21 +71,19 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) {
6471 text . push ( prefix + ': ' + val . toFixed ( 3 ) + ax . labelsuffix ) ;
6572 }
6673
67- if ( parts . indexOf ( 'all' ) !== - 1 ) parts = [ 'a' , 'b' ] ;
68- if ( parts . indexOf ( 'a' ) !== - 1 ) textPart ( carpet . aaxis , cdi . a ) ;
69- if ( parts . indexOf ( 'b' ) !== - 1 ) textPart ( carpet . baxis , cdi . b ) ;
7074
71- var ij = carpet . ab2ij ( [ cdi . a , cdi . b ] ) ;
72- var i0 = Math . floor ( ij [ 0 ] ) ;
73- var ti = ij [ 0 ] - i0 ;
75+ if ( ! trace . hovertemplate ) {
76+ var hoverinfo = cdi . hi || trace . hoverinfo ;
77+ var parts = hoverinfo . split ( '+' ) ;
7478
75- var j0 = Math . floor ( ij [ 1 ] ) ;
76- var tj = ij [ 1 ] - j0 ;
79+ if ( parts . indexOf ( 'all' ) !== - 1 ) parts = [ 'a' , 'b' ] ;
80+ if ( parts . indexOf ( 'a' ) !== - 1 ) textPart ( carpet . aaxis , cdi . a ) ;
81+ if ( parts . indexOf ( 'b' ) !== - 1 ) textPart ( carpet . baxis , cdi . b ) ;
7782
78- var xy = carpet . evalxy ( [ ] , i0 , j0 , ti , tj ) ;
79- text . push ( 'y: ' + xy [ 1 ] . toFixed ( 3 ) ) ;
83+ text . push ( 'y: ' + newPointData . yLabel ) ;
8084
81- newPointData . extraText = text . join ( '<br>' ) ;
85+ newPointData . extraText = text . join ( '<br>' ) ;
86+ }
8287
8388 return scatterPointData ;
8489} ;
0 commit comments