@@ -159,6 +159,9 @@ function hoverOnBoxes(pointData, xval, yval, hovermode) {
159159 attrs . reverse ( ) ;
160160 }
161161
162+ var spikeDistance = pointData . spikeDistance ;
163+ var spikePosition = pointData [ spikePosAttr ] ;
164+
162165 var closeBoxData = [ ] ;
163166 for ( var i = 0 ; i < attrs . length ; i ++ ) {
164167 var attr = attrs [ i ] ;
@@ -183,23 +186,27 @@ function hoverOnBoxes(pointData, xval, yval, hovermode) {
183186 pointData2 [ vLetter + 'err' ] = di . sd ;
184187 }
185188
186- // only keep name and spikes on the first item (median)
187- if ( attr === 'med' ) {
188- pointData . name = '' ;
189- pointData . spikeDistance = undefined ;
190- pointData [ spikePosAttr ] = undefined ;
191- } else {
192- pointData2 . name = '' ;
193- pointData2 . spikeDistance = undefined ;
194- pointData2 [ spikePosAttr ] = undefined ;
195- }
196-
197189 // no hovertemplate support yet
198190 pointData2 . hovertemplate = false ;
199191
200192 closeBoxData . push ( pointData2 ) ;
201193 }
202194
195+ // only keep name and spikes on the first item (median)
196+ pointData . name = '' ;
197+ pointData . spikeDistance = undefined ;
198+ pointData [ spikePosAttr ] = undefined ;
199+ for ( var k = 0 ; k < closeBoxData . length ; k ++ ) {
200+ if ( closeBoxData [ k ] . attr !== 'med' ) {
201+ closeBoxData [ k ] . name = '' ;
202+ closeBoxData [ k ] . spikeDistance = undefined ;
203+ closeBoxData [ k ] [ spikePosAttr ] = undefined ;
204+ } else {
205+ closeBoxData [ k ] . spikeDistance = spikeDistance ;
206+ closeBoxData [ k ] [ spikePosAttr ] = spikePosition ;
207+ }
208+ }
209+
203210 return closeBoxData ;
204211}
205212
0 commit comments