@@ -765,7 +765,10 @@ function emitPointsEventColorHovermode(bandElement, eventName, event) {
765765 * HTML element for band
766766 *
767767 */
768- function createHoverLabelForCategoryHovermode ( rootBBox , bandElement ) {
768+ function createHoverLabelForCategoryHovermode ( gd , rootBBox , bandElement ) {
769+ var scaleX = gd . _fullLayout . _inverseScaleX ;
770+ var scaleY = gd . _fullLayout . _inverseScaleY ;
771+
769772 // Selections
770773 var rectSelection = d3 . select ( bandElement . parentNode ) . select ( 'rect.catrect' ) ;
771774 var rectBoundingBox = rectSelection . node ( ) . getBoundingClientRect ( ) ;
@@ -813,8 +816,8 @@ function createHoverLabelForCategoryHovermode(rootBBox, bandElement) {
813816 var hovertext = hoverinfoParts . join ( '<br>' ) ;
814817 return {
815818 trace : trace ,
816- x : hoverCenterX - rootBBox . left ,
817- y : hoverCenterY - rootBBox . top ,
819+ x : scaleX * ( hoverCenterX - rootBBox . left ) ,
820+ y : scaleY * ( hoverCenterY - rootBBox . top ) ,
818821 text : hovertext ,
819822 color : 'lightgray' ,
820823 borderColor : 'black' ,
@@ -843,15 +846,15 @@ function createHoverLabelForCategoryHovermode(rootBBox, bandElement) {
843846 * HTML element for band
844847 *
845848 */
846- function createHoverLabelForDimensionHovermode ( rootBBox , bandElement ) {
849+ function createHoverLabelForDimensionHovermode ( gd , rootBBox , bandElement ) {
847850 var allHoverlabels = [ ] ;
848851
849852 d3 . select ( bandElement . parentNode . parentNode )
850853 . selectAll ( 'g.category' )
851854 . select ( 'rect.catrect' )
852855 . each ( function ( ) {
853856 var bandNode = this ;
854- allHoverlabels . push ( createHoverLabelForCategoryHovermode ( rootBBox , bandNode ) ) ;
857+ allHoverlabels . push ( createHoverLabelForCategoryHovermode ( gd , rootBBox , bandNode ) ) ;
855858 } ) ;
856859
857860 return allHoverlabels ;
@@ -866,7 +869,10 @@ function createHoverLabelForDimensionHovermode(rootBBox, bandElement) {
866869 * HTML element for band
867870 *
868871 */
869- function createHoverLabelForColorHovermode ( rootBBox , bandElement ) {
872+ function createHoverLabelForColorHovermode ( gd , rootBBox , bandElement ) {
873+ var scaleX = gd . _fullLayout . _inverseScaleX ;
874+ var scaleY = gd . _fullLayout . _inverseScaleY ;
875+
870876 var bandBoundingBox = bandElement . getBoundingClientRect ( ) ;
871877
872878 // Models
@@ -944,8 +950,8 @@ function createHoverLabelForColorHovermode(rootBBox, bandElement) {
944950
945951 return {
946952 trace : trace ,
947- x : hoverCenterX - rootBBox . left ,
948- y : hoverCenterY - rootBBox . top ,
953+ x : scaleX * ( hoverCenterX - rootBBox . left ) ,
954+ y : scaleY * ( hoverCenterY - rootBBox . top ) ,
949955 // name: 'NAME',
950956 text : hovertext ,
951957 color : bandViewModel . color ,
@@ -1008,11 +1014,11 @@ function mouseoverCategoryBand(bandViewModel) {
10081014 if ( bandViewModel . parcatsViewModel . hoverinfoItems . indexOf ( 'none' ) === - 1 ) {
10091015 var hoverItems ;
10101016 if ( hoveron === 'category' ) {
1011- hoverItems = createHoverLabelForCategoryHovermode ( rootBBox , bandElement ) ;
1017+ hoverItems = createHoverLabelForCategoryHovermode ( gd , rootBBox , bandElement ) ;
10121018 } else if ( hoveron === 'color' ) {
1013- hoverItems = createHoverLabelForColorHovermode ( rootBBox , bandElement ) ;
1019+ hoverItems = createHoverLabelForColorHovermode ( gd , rootBBox , bandElement ) ;
10141020 } else if ( hoveron === 'dimension' ) {
1015- hoverItems = createHoverLabelForDimensionHovermode ( rootBBox , bandElement ) ;
1021+ hoverItems = createHoverLabelForDimensionHovermode ( gd , rootBBox , bandElement ) ;
10161022 }
10171023
10181024 if ( hoverItems ) {
0 commit comments