@@ -17,61 +17,45 @@ var orientText = require('./orient_text');
17
17
var svgTextUtils = require ( '../../lib/svg_text_utils' ) ;
18
18
var Lib = require ( '../../lib' ) ;
19
19
var alignmentConstants = require ( '../../constants/alignment' ) ;
20
- var getUidsFromCalcData = require ( '../../plots/get_data' ) . getUidsFromCalcData ;
21
20
22
21
module . exports = function plot ( gd , plotinfo , cdcarpet , carpetLayer ) {
23
- var uidLookup = getUidsFromCalcData ( cdcarpet ) ;
24
-
25
- carpetLayer . selectAll ( 'g.trace' ) . each ( function ( ) {
26
- var classString = d3 . select ( this ) . attr ( 'class' ) ;
27
- var oldUid = classString . split ( 'carpet' ) [ 1 ] . split ( / \s / ) [ 0 ] ;
28
-
29
- if ( ! uidLookup [ oldUid ] ) {
30
- d3 . select ( this ) . remove ( ) ;
31
- }
32
- } ) ;
33
-
34
- for ( var i = 0 ; i < cdcarpet . length ; i ++ ) {
35
- plotOne ( gd , plotinfo , cdcarpet [ i ] , carpetLayer ) ;
36
- }
37
- } ;
38
-
39
- function plotOne ( gd , plotinfo , cd , carpetLayer ) {
40
- var t = cd [ 0 ] ;
41
- var trace = cd [ 0 ] . trace ,
42
- xa = plotinfo . xaxis ,
43
- ya = plotinfo . yaxis ,
44
- aax = trace . aaxis ,
45
- bax = trace . baxis ,
46
- fullLayout = gd . _fullLayout ;
47
-
22
+ var xa = plotinfo . xaxis ;
23
+ var ya = plotinfo . yaxis ;
24
+ var fullLayout = gd . _fullLayout ;
48
25
var clipLayer = fullLayout . _clips ;
49
26
50
- var axisLayer = Lib . ensureSingle ( carpetLayer , 'g' , 'carpet' + trace . uid ) . classed ( 'trace' , true ) ;
51
- var minorLayer = Lib . ensureSingle ( axisLayer , 'g' , 'minorlayer' ) ;
52
- var majorLayer = Lib . ensureSingle ( axisLayer , 'g' , 'majorlayer' ) ;
53
- var boundaryLayer = Lib . ensureSingle ( axisLayer , 'g' , 'boundarylayer' ) ;
54
- var labelLayer = Lib . ensureSingle ( axisLayer , 'g' , 'labellayer' ) ;
27
+ Lib . makeTraceGroups ( carpetLayer , cdcarpet , 'trace' ) . each ( function ( cd ) {
28
+ var axisLayer = d3 . select ( this ) ;
29
+ var cd0 = cd [ 0 ] ;
30
+ var trace = cd0 . trace ;
31
+ var aax = trace . aaxis ;
32
+ var bax = trace . baxis ;
55
33
56
- axisLayer . style ( 'opacity' , trace . opacity ) ;
34
+ var minorLayer = Lib . ensureSingle ( axisLayer , 'g' , 'minorlayer' ) ;
35
+ var majorLayer = Lib . ensureSingle ( axisLayer , 'g' , 'majorlayer' ) ;
36
+ var boundaryLayer = Lib . ensureSingle ( axisLayer , 'g' , 'boundarylayer' ) ;
37
+ var labelLayer = Lib . ensureSingle ( axisLayer , 'g' , 'labellayer' ) ;
57
38
58
- drawGridLines ( xa , ya , majorLayer , aax , 'a' , aax . _gridlines , true ) ;
59
- drawGridLines ( xa , ya , majorLayer , bax , 'b' , bax . _gridlines , true ) ;
60
- drawGridLines ( xa , ya , minorLayer , aax , 'a' , aax . _minorgridlines , true ) ;
61
- drawGridLines ( xa , ya , minorLayer , bax , 'b' , bax . _minorgridlines , true ) ;
39
+ axisLayer . style ( 'opacity' , trace . opacity ) ;
62
40
63
- // NB: These are not ommitted if the lines are not active. The joins must be executed
64
- // in order for them to get cleaned up without a full redraw
65
- drawGridLines ( xa , ya , boundaryLayer , aax , 'a-boundary ' , aax . _boundarylines ) ;
66
- drawGridLines ( xa , ya , boundaryLayer , bax , 'b-boundary ' , bax . _boundarylines ) ;
41
+ drawGridLines ( xa , ya , majorLayer , aax , 'a' , aax . _gridlines , true ) ;
42
+ drawGridLines ( xa , ya , majorLayer , bax , 'b' , bax . _gridlines , true ) ;
43
+ drawGridLines ( xa , ya , minorLayer , aax , 'a' , aax . _minorgridlines , true ) ;
44
+ drawGridLines ( xa , ya , minorLayer , bax , 'b' , bax . _minorgridlines , true ) ;
67
45
68
- var labelOrientationA = drawAxisLabels ( gd , xa , ya , trace , t , labelLayer , aax . _labels , 'a-label' ) ;
69
- var labelOrientationB = drawAxisLabels ( gd , xa , ya , trace , t , labelLayer , bax . _labels , 'b-label' ) ;
46
+ // NB: These are not ommitted if the lines are not active. The joins must be executed
47
+ // in order for them to get cleaned up without a full redraw
48
+ drawGridLines ( xa , ya , boundaryLayer , aax , 'a-boundary' , aax . _boundarylines ) ;
49
+ drawGridLines ( xa , ya , boundaryLayer , bax , 'b-boundary' , bax . _boundarylines ) ;
70
50
71
- drawAxisTitles ( gd , labelLayer , trace , t , xa , ya , labelOrientationA , labelOrientationB ) ;
51
+ var labelOrientationA = drawAxisLabels ( gd , xa , ya , trace , cd0 , labelLayer , aax . _labels , 'a-label' ) ;
52
+ var labelOrientationB = drawAxisLabels ( gd , xa , ya , trace , cd0 , labelLayer , bax . _labels , 'b-label' ) ;
72
53
73
- drawClipPath ( trace , t , clipLayer , xa , ya ) ;
74
- }
54
+ drawAxisTitles ( gd , labelLayer , trace , cd0 , xa , ya , labelOrientationA , labelOrientationB ) ;
55
+
56
+ drawClipPath ( trace , cd0 , clipLayer , xa , ya ) ;
57
+ } ) ;
58
+ } ;
75
59
76
60
function drawClipPath ( trace , t , layer , xaxis , yaxis ) {
77
61
var seg , xp , yp , i ;
0 commit comments