@@ -17,8 +17,6 @@ var Drawing = require('../../components/drawing');
1717var Axes = require ( './axes' ) ;
1818var axisRegex = / ( ( x | y ) ( [ 2 - 9 ] | [ 1 - 9 ] [ 0 - 9 ] + ) ? ) a x i s $ / ;
1919
20- var LAST_TRANSLATION_RE = / t r a n s l a t e \( [ ^ ) ] * \) \s * $ / ;
21-
2220module . exports = function transitionAxes ( gd , newLayout , transitionOpts , makeOnCompleteCallback ) {
2321 var fullLayout = gd . _fullLayout ;
2422 var axes = [ ] ;
@@ -150,17 +148,11 @@ module.exports = function transitionAxes(gd, newLayout, transitionOpts, makeOnCo
150148 // This is specifically directed at scatter traces, applying an inverse
151149 // scale to individual points to counteract the scale of the trace
152150 // as a whole:
153- . selectAll ( '.points' ) . selectAll ( '.point' )
151+ . select ( '.scatterlayer' ) . selectAll ( '.points' ) . selectAll ( '.point' )
154152 . call ( Drawing . setPointGroupScale , 1 , 1 ) ;
155153
156- subplot . plot . selectAll ( '.points' ) . selectAll ( '.textpoint' )
157- . each ( function ( ) {
158- var el = d3 . select ( this ) ;
159- var existingTransform = el . attr ( 'transform' ) . match ( LAST_TRANSLATION_RE ) ;
160- el . attr ( 'transform' , existingTransform || '' ) ;
161- } ) ;
162-
163-
154+ subplot . plot . select ( '.scatterlayer' ) . selectAll ( '.points' ) . selectAll ( '.textpoint' )
155+ . call ( Drawing . setTextPointsScale , 1 , 1 ) ;
164156 }
165157
166158 function updateSubplot ( subplot , progress ) {
@@ -240,26 +232,7 @@ module.exports = function transitionAxes(gd, newLayout, transitionOpts, makeOnCo
240232 . call ( Drawing . setPointGroupScale , 1 / xScaleFactor , 1 / yScaleFactor ) ;
241233
242234 subplot . plot . selectAll ( '.points' ) . selectAll ( '.textpoint' )
243- . each ( function ( ) {
244- var el = d3 . select ( this ) ;
245- var text = el . select ( 'text' ) ;
246- var x = parseFloat ( text . attr ( 'x' ) ) ;
247- var y = parseFloat ( text . attr ( 'y' ) ) ;
248-
249- var existingTransform = el . attr ( 'transform' ) . match ( LAST_TRANSLATION_RE ) ;
250-
251- var transforms = [
252- 'translate(' + x + ',' + y + ')' ,
253- 'scale(' + ( 1 / xScaleFactor ) + ',' + ( 1 / yScaleFactor ) + ')' ,
254- 'translate(' + ( - x ) + ',' + ( - y ) + ')' ,
255- ] ;
256-
257- if ( existingTransform ) {
258- transforms . push ( existingTransform ) ;
259- }
260-
261- el . attr ( 'transform' , transforms . join ( ' ' ) ) ;
262- } ) ;
235+ . call ( Drawing . setTextPointsScale , 1 / xScaleFactor , 1 / yScaleFactor ) ;
263236 }
264237
265238 var onComplete ;
0 commit comments