@@ -765,7 +765,10 @@ function emitPointsEventColorHovermode(bandElement, eventName, event) {
765
765
* HTML element for band
766
766
*
767
767
*/
768
- function createHoverLabelForCategoryHovermode ( rootBBox , bandElement ) {
768
+ function createHoverLabelForCategoryHovermode ( gd , rootBBox , bandElement ) {
769
+ var scaleX = gd . _fullLayout . _inverseScaleX ;
770
+ var scaleY = gd . _fullLayout . _inverseScaleY ;
771
+
769
772
// Selections
770
773
var rectSelection = d3 . select ( bandElement . parentNode ) . select ( 'rect.catrect' ) ;
771
774
var rectBoundingBox = rectSelection . node ( ) . getBoundingClientRect ( ) ;
@@ -813,8 +816,8 @@ function createHoverLabelForCategoryHovermode(rootBBox, bandElement) {
813
816
var hovertext = hoverinfoParts . join ( '<br>' ) ;
814
817
return {
815
818
trace : trace ,
816
- x : hoverCenterX - rootBBox . left ,
817
- y : hoverCenterY - rootBBox . top ,
819
+ x : scaleX * ( hoverCenterX - rootBBox . left ) ,
820
+ y : scaleY * ( hoverCenterY - rootBBox . top ) ,
818
821
text : hovertext ,
819
822
color : 'lightgray' ,
820
823
borderColor : 'black' ,
@@ -843,15 +846,15 @@ function createHoverLabelForCategoryHovermode(rootBBox, bandElement) {
843
846
* HTML element for band
844
847
*
845
848
*/
846
- function createHoverLabelForDimensionHovermode ( rootBBox , bandElement ) {
849
+ function createHoverLabelForDimensionHovermode ( gd , rootBBox , bandElement ) {
847
850
var allHoverlabels = [ ] ;
848
851
849
852
d3 . select ( bandElement . parentNode . parentNode )
850
853
. selectAll ( 'g.category' )
851
854
. select ( 'rect.catrect' )
852
855
. each ( function ( ) {
853
856
var bandNode = this ;
854
- allHoverlabels . push ( createHoverLabelForCategoryHovermode ( rootBBox , bandNode ) ) ;
857
+ allHoverlabels . push ( createHoverLabelForCategoryHovermode ( gd , rootBBox , bandNode ) ) ;
855
858
} ) ;
856
859
857
860
return allHoverlabels ;
@@ -866,7 +869,10 @@ function createHoverLabelForDimensionHovermode(rootBBox, bandElement) {
866
869
* HTML element for band
867
870
*
868
871
*/
869
- function createHoverLabelForColorHovermode ( rootBBox , bandElement ) {
872
+ function createHoverLabelForColorHovermode ( gd , rootBBox , bandElement ) {
873
+ var scaleX = gd . _fullLayout . _inverseScaleX ;
874
+ var scaleY = gd . _fullLayout . _inverseScaleY ;
875
+
870
876
var bandBoundingBox = bandElement . getBoundingClientRect ( ) ;
871
877
872
878
// Models
@@ -944,8 +950,8 @@ function createHoverLabelForColorHovermode(rootBBox, bandElement) {
944
950
945
951
return {
946
952
trace : trace ,
947
- x : hoverCenterX - rootBBox . left ,
948
- y : hoverCenterY - rootBBox . top ,
953
+ x : scaleX * ( hoverCenterX - rootBBox . left ) ,
954
+ y : scaleY * ( hoverCenterY - rootBBox . top ) ,
949
955
// name: 'NAME',
950
956
text : hovertext ,
951
957
color : bandViewModel . color ,
@@ -1008,11 +1014,11 @@ function mouseoverCategoryBand(bandViewModel) {
1008
1014
if ( bandViewModel . parcatsViewModel . hoverinfoItems . indexOf ( 'none' ) === - 1 ) {
1009
1015
var hoverItems ;
1010
1016
if ( hoveron === 'category' ) {
1011
- hoverItems = createHoverLabelForCategoryHovermode ( rootBBox , bandElement ) ;
1017
+ hoverItems = createHoverLabelForCategoryHovermode ( gd , rootBBox , bandElement ) ;
1012
1018
} else if ( hoveron === 'color' ) {
1013
- hoverItems = createHoverLabelForColorHovermode ( rootBBox , bandElement ) ;
1019
+ hoverItems = createHoverLabelForColorHovermode ( gd , rootBBox , bandElement ) ;
1014
1020
} else if ( hoveron === 'dimension' ) {
1015
- hoverItems = createHoverLabelForDimensionHovermode ( rootBBox , bandElement ) ;
1021
+ hoverItems = createHoverLabelForDimensionHovermode ( gd , rootBBox , bandElement ) ;
1016
1022
}
1017
1023
1018
1024
if ( hoverItems ) {
0 commit comments