@@ -162,14 +162,14 @@ function plotOne(gd, cd, element, transitionOpts) {
162
162
var cenX = - vpw / 2 + gs . l + gs . w * ( domain . x [ 1 ] + domain . x [ 0 ] ) / 2 ;
163
163
var cenY = - vph / 2 + gs . t + gs . h * ( 1 - ( domain . y [ 1 ] + domain . y [ 0 ] ) / 2 ) ;
164
164
165
- var viewMapX = function ( x ) { return cenX + ( x || 0 ) ; } ;
166
- var viewMapY = function ( y ) { return cenY + ( y || 0 ) ; } ;
165
+ var viewMapX = function ( x ) { return cenX + x ; } ;
166
+ var viewMapY = function ( y ) { return cenY + y ; } ;
167
167
168
168
var barY0 = viewMapY ( 0 ) ;
169
169
var barX0 = viewMapX ( 0 ) ;
170
170
171
- var viewBarX = function ( x ) { return barX0 + ( x || 0 ) ; } ;
172
- var viewBarY = function ( y ) { return barY0 + ( y || 0 ) ; } ;
171
+ var viewBarX = function ( x ) { return barX0 + x ; } ;
172
+ var viewBarY = function ( y ) { return barY0 + y ; } ;
173
173
174
174
function pos ( x , y ) {
175
175
return x + ',' + y ;
@@ -315,6 +315,11 @@ function plotOne(gd, cd, element, transitionOpts) {
315
315
if ( opts . isHeader ) {
316
316
x0 += pad . l - TEXTPAD ;
317
317
x1 -= pad . r - TEXTPAD ;
318
+ if ( x0 >= x1 ) {
319
+ var mid = ( x0 + x1 ) / 2 ;
320
+ x0 = mid - TEXTPAD ;
321
+ x1 = mid + TEXTPAD ;
322
+ }
318
323
319
324
// limit the drawing area for headers
320
325
var limY ;
@@ -343,13 +348,20 @@ function plotOne(gd, cd, element, transitionOpts) {
343
348
else if ( offsetDir === 'right' ) transform . targetX += deltaX ;
344
349
}
345
350
351
+ transform . targetX = viewMapX ( transform . targetX ) ;
352
+ transform . targetY = viewMapY ( transform . targetY ) ;
353
+
354
+ if ( isNaN ( transform . targetX ) || isNaN ( transform . targetY ) ) {
355
+ return { } ;
356
+ }
357
+
346
358
return {
347
359
scale : transform . scale ,
348
360
rotate : transform . rotate ,
349
361
textX : transform . textX ,
350
362
textY : transform . textY ,
351
- targetX : viewMapX ( transform . targetX ) ,
352
- targetY : viewMapY ( transform . targetY )
363
+ targetX : transform . targetX ,
364
+ targetY : transform . targetY
353
365
} ;
354
366
} ;
355
367
0 commit comments