@@ -103,14 +103,14 @@ function plotOne(gd, cd, element, transitionOpts) {
103
103
y0 = barDifY + 0 ;
104
104
y1 = barDifY + height ;
105
105
} else {
106
- var ref = clicked . zoomOut ? refRect : prevLookdown [ clicked . id ] || prevLookup [ clicked . id ] ;
106
+ var ref = clicked . zoomOut ? refRect : (
107
+ upDown ? prevLookup [ clicked . id ] : prevLookdown [ clicked . id ]
108
+ ) ;
107
109
108
110
if ( Object . keys ( ref ) . length === 0 && // case of an empty object - happens when maxdepth is set
109
111
! helpers . isHierarchyRoot ( pt )
110
112
) {
111
- var q = pt . parent || pt ;
112
- x0 = x1 = ( q . x0 + q . x1 ) / 2 ;
113
- y0 = y1 = ( q . y0 + q . y1 ) / 2 ;
113
+ x0 = x1 = y0 = y1 = NaN ;
114
114
} else {
115
115
var e = trace . tiling . pad ;
116
116
var isLeftOfRect = function ( x ) { return x - e <= ref . x0 ; } ;
@@ -190,6 +190,10 @@ function plotOne(gd, cd, element, transitionOpts) {
190
190
return x + ',' + y ;
191
191
}
192
192
193
+ function noNaN ( path ) {
194
+ return path . indexOf ( 'NaN' ) > - 1 ? '' : path ;
195
+ }
196
+
193
197
var xStart = viewDirX ( 0 ) ;
194
198
var limitX0 = function ( p ) {
195
199
p . x = Math . max ( xStart , p . x ) ;
@@ -239,7 +243,7 @@ function plotOne(gd, cd, element, transitionOpts) {
239
243
limitX0 ( pD ) ;
240
244
limitX0 ( pM ) ;
241
245
242
- return (
246
+ return noNaN (
243
247
'M' + pos ( pA . x , pA . y ) +
244
248
'L' + pos ( pB . x , pB . y ) +
245
249
'L' + pos ( pC . x , pC . y ) +
@@ -256,7 +260,7 @@ function plotOne(gd, cd, element, transitionOpts) {
256
260
var _y0 = viewMapY ( d . y0 ) ;
257
261
var _y1 = viewMapY ( d . y1 ) ;
258
262
259
- return (
263
+ return noNaN (
260
264
'M' + pos ( _x0 , _y0 ) +
261
265
'L' + pos ( _x1 , _y0 ) +
262
266
'L' + pos ( _x1 , _y1 ) +
0 commit comments