@@ -10,172 +10,176 @@ Plotly.register([
10
10
require ( '@src/transforms/groupby' )
11
11
] ) ;
12
12
13
- describe ( 'one-to-many transforms:' , function ( ) {
14
- 'use strict' ;
15
-
16
- var mockData0 = [ {
17
- mode : 'markers' ,
18
- x : [ 1 , - 1 , - 2 , 0 , 1 , 2 , 3 ] ,
19
- y : [ 1 , 2 , 3 , 1 , 2 , 3 , 1 ] ,
20
- transforms : [ {
21
- type : 'groupby' ,
22
- groups : [ 'a' , 'a' , 'b' , 'a' , 'b' , 'b' , 'a' ] ,
23
- style : { a : { marker : { color : 'red' } } , b : { marker : { color : 'blue' } } }
24
- } ]
25
- } ] ;
26
-
27
- var mockData1 = [ Lib . extendDeep ( { } , mockData0 [ 0 ] ) , {
28
- mode : 'markers' ,
29
- x : [ 20 , 11 , 12 , 0 , 1 , 2 , 3 ] ,
30
- y : [ 1 , 2 , 3 , 2 , 5 , 2 , 0 ] ,
31
- transforms : [ {
32
- type : 'groupby' ,
33
- groups : [ 'b' , 'a' , 'b' , 'b' , 'b' , 'a' , 'a' ] ,
34
- style : { a : { marker : { color : 'green' } } , b : { marker : { color : 'black' } } }
35
- } ]
36
- } ] ;
37
-
38
- afterEach ( destroyGraphDiv ) ;
39
-
40
- it ( 'Plotly.plot should plot the transform traces' , function ( done ) {
41
- var data = Lib . extendDeep ( [ ] , mockData0 ) ;
42
-
43
- var gd = createGraphDiv ( ) ;
44
-
45
- Plotly . plot ( gd , data ) . then ( function ( ) {
46
- expect ( gd . data . length ) . toEqual ( 1 ) ;
47
- expect ( gd . data [ 0 ] . x ) . toEqual ( [ 1 , - 1 , - 2 , 0 , 1 , 2 , 3 ] ) ;
48
- expect ( gd . data [ 0 ] . y ) . toEqual ( [ 1 , 2 , 3 , 1 , 2 , 3 , 1 ] ) ;
49
-
50
- expect ( gd . _fullData . length ) . toEqual ( 2 ) ;
51
- expect ( gd . _fullData [ 0 ] . x ) . toEqual ( [ 1 , - 1 , 0 , 3 ] ) ;
52
- expect ( gd . _fullData [ 0 ] . y ) . toEqual ( [ 1 , 2 , 1 , 1 ] ) ;
53
- expect ( gd . _fullData [ 1 ] . x ) . toEqual ( [ - 2 , 1 , 2 ] ) ;
54
- expect ( gd . _fullData [ 1 ] . y ) . toEqual ( [ 3 , 2 , 3 ] ) ;
55
-
56
- assertDims ( [ 4 , 3 ] ) ;
57
-
58
- done ( ) ;
13
+ describe ( 'groupby' , function ( ) {
14
+
15
+ describe ( 'one-to-many transforms:' , function ( ) {
16
+ 'use strict' ;
17
+
18
+ var mockData0 = [ {
19
+ mode : 'markers' ,
20
+ x : [ 1 , - 1 , - 2 , 0 , 1 , 2 , 3 ] ,
21
+ y : [ 1 , 2 , 3 , 1 , 2 , 3 , 1 ] ,
22
+ transforms : [ {
23
+ type : 'groupby' ,
24
+ groups : [ 'a' , 'a' , 'b' , 'a' , 'b' , 'b' , 'a' ] ,
25
+ style : { a : { marker : { color : 'red' } } , b : { marker : { color : 'blue' } } }
26
+ } ]
27
+ } ] ;
28
+
29
+ var mockData1 = [ Lib . extendDeep ( { } , mockData0 [ 0 ] ) , {
30
+ mode : 'markers' ,
31
+ x : [ 20 , 11 , 12 , 0 , 1 , 2 , 3 ] ,
32
+ y : [ 1 , 2 , 3 , 2 , 5 , 2 , 0 ] ,
33
+ transforms : [ {
34
+ type : 'groupby' ,
35
+ groups : [ 'b' , 'a' , 'b' , 'b' , 'b' , 'a' , 'a' ] ,
36
+ style : { a : { marker : { color : 'green' } } , b : { marker : { color : 'black' } } }
37
+ } ]
38
+ } ] ;
39
+
40
+ afterEach ( destroyGraphDiv ) ;
41
+
42
+ it ( 'Plotly.plot should plot the transform traces' , function ( done ) {
43
+ var data = Lib . extendDeep ( [ ] , mockData0 ) ;
44
+
45
+ var gd = createGraphDiv ( ) ;
46
+
47
+ Plotly . plot ( gd , data ) . then ( function ( ) {
48
+ expect ( gd . data . length ) . toEqual ( 1 ) ;
49
+ expect ( gd . data [ 0 ] . x ) . toEqual ( [ 1 , - 1 , - 2 , 0 , 1 , 2 , 3 ] ) ;
50
+ expect ( gd . data [ 0 ] . y ) . toEqual ( [ 1 , 2 , 3 , 1 , 2 , 3 , 1 ] ) ;
51
+
52
+ expect ( gd . _fullData . length ) . toEqual ( 2 ) ;
53
+ expect ( gd . _fullData [ 0 ] . x ) . toEqual ( [ 1 , - 1 , 0 , 3 ] ) ;
54
+ expect ( gd . _fullData [ 0 ] . y ) . toEqual ( [ 1 , 2 , 1 , 1 ] ) ;
55
+ expect ( gd . _fullData [ 1 ] . x ) . toEqual ( [ - 2 , 1 , 2 ] ) ;
56
+ expect ( gd . _fullData [ 1 ] . y ) . toEqual ( [ 3 , 2 , 3 ] ) ;
57
+
58
+ assertDims ( [ 4 , 3 ] ) ;
59
+
60
+ done ( ) ;
61
+ } ) ;
59
62
} ) ;
60
- } ) ;
61
63
62
- it ( 'Plotly.restyle should work' , function ( done ) {
63
- var data = Lib . extendDeep ( [ ] , mockData0 ) ;
64
- data [ 0 ] . marker = { size : 20 } ;
65
-
66
- var gd = createGraphDiv ( ) ;
67
- var dims = [ 4 , 3 ] ;
68
-
69
- Plotly . plot ( gd , data ) . then ( function ( ) {
70
- assertStyle ( dims ,
71
- [ 'rgb(255, 0, 0)' , 'rgb(0, 0, 255)' ] ,
72
- [ 1 , 1 ]
73
- ) ;
74
-
75
- return Plotly . restyle ( gd , 'marker.opacity' , 0.4 ) ;
76
- } ) . then ( function ( ) {
77
- assertStyle ( dims ,
78
- [ 'rgb(255, 0, 0)' , 'rgb(0, 0, 255)' ] ,
79
- [ 0.4 , 0.4 ]
80
- ) ;
81
-
82
- expect ( gd . _fullData [ 0 ] . marker . opacity ) . toEqual ( 0.4 ) ;
83
- expect ( gd . _fullData [ 1 ] . marker . opacity ) . toEqual ( 0.4 ) ;
84
-
85
- return Plotly . restyle ( gd , 'marker.opacity' , 1 ) ;
86
- } ) . then ( function ( ) {
87
- assertStyle ( dims ,
88
- [ 'rgb(255, 0, 0)' , 'rgb(0, 0, 255)' ] ,
89
- [ 1 , 1 ]
90
- ) ;
91
-
92
- expect ( gd . _fullData [ 0 ] . marker . opacity ) . toEqual ( 1 ) ;
93
- expect ( gd . _fullData [ 1 ] . marker . opacity ) . toEqual ( 1 ) ;
94
-
95
- return Plotly . restyle ( gd , {
96
- 'transforms[0].style' : { a : { marker : { color : 'green' } } , b : { marker : { color : 'red' } } } ,
97
- 'marker.opacity' : 0.4
64
+ it ( 'Plotly.restyle should work' , function ( done ) {
65
+ var data = Lib . extendDeep ( [ ] , mockData0 ) ;
66
+ data [ 0 ] . marker = { size : 20 } ;
67
+
68
+ var gd = createGraphDiv ( ) ;
69
+ var dims = [ 4 , 3 ] ;
70
+
71
+ Plotly . plot ( gd , data ) . then ( function ( ) {
72
+ assertStyle ( dims ,
73
+ [ 'rgb(255, 0, 0)' , 'rgb(0, 0, 255)' ] ,
74
+ [ 1 , 1 ]
75
+ ) ;
76
+
77
+ return Plotly . restyle ( gd , 'marker.opacity' , 0.4 ) ;
78
+ } ) . then ( function ( ) {
79
+ assertStyle ( dims ,
80
+ [ 'rgb(255, 0, 0)' , 'rgb(0, 0, 255)' ] ,
81
+ [ 0.4 , 0.4 ]
82
+ ) ;
83
+
84
+ expect ( gd . _fullData [ 0 ] . marker . opacity ) . toEqual ( 0.4 ) ;
85
+ expect ( gd . _fullData [ 1 ] . marker . opacity ) . toEqual ( 0.4 ) ;
86
+
87
+ return Plotly . restyle ( gd , 'marker.opacity' , 1 ) ;
88
+ } ) . then ( function ( ) {
89
+ assertStyle ( dims ,
90
+ [ 'rgb(255, 0, 0)' , 'rgb(0, 0, 255)' ] ,
91
+ [ 1 , 1 ]
92
+ ) ;
93
+
94
+ expect ( gd . _fullData [ 0 ] . marker . opacity ) . toEqual ( 1 ) ;
95
+ expect ( gd . _fullData [ 1 ] . marker . opacity ) . toEqual ( 1 ) ;
96
+
97
+ return Plotly . restyle ( gd , {
98
+ 'transforms[0].style' : { a : { marker : { color : 'green' } } , b : { marker : { color : 'red' } } } ,
99
+ 'marker.opacity' : 0.4
100
+ } ) ;
101
+ } ) . then ( function ( ) {
102
+ assertStyle ( dims ,
103
+ [ 'rgb(0, 128, 0)' , 'rgb(255, 0, 0)' ] ,
104
+ [ 0.4 , 0.4 ]
105
+ ) ;
106
+
107
+ done ( ) ;
98
108
} ) ;
99
- } ) . then ( function ( ) {
100
- assertStyle ( dims ,
101
- [ 'rgb(0, 128, 0)' , 'rgb(255, 0, 0)' ] ,
102
- [ 0.4 , 0.4 ]
103
- ) ;
104
-
105
- done ( ) ;
106
109
} ) ;
107
- } ) ;
108
110
109
- it ( 'Plotly.extendTraces should work' , function ( done ) {
110
- var data = Lib . extendDeep ( [ ] , mockData0 ) ;
111
+ it ( 'Plotly.extendTraces should work' , function ( done ) {
112
+ var data = Lib . extendDeep ( [ ] , mockData0 ) ;
111
113
112
- var gd = createGraphDiv ( ) ;
114
+ var gd = createGraphDiv ( ) ;
113
115
114
- Plotly . plot ( gd , data ) . then ( function ( ) {
115
- expect ( gd . data [ 0 ] . x . length ) . toEqual ( 7 ) ;
116
- expect ( gd . _fullData [ 0 ] . x . length ) . toEqual ( 4 ) ;
117
- expect ( gd . _fullData [ 1 ] . x . length ) . toEqual ( 3 ) ;
116
+ Plotly . plot ( gd , data ) . then ( function ( ) {
117
+ expect ( gd . data [ 0 ] . x . length ) . toEqual ( 7 ) ;
118
+ expect ( gd . _fullData [ 0 ] . x . length ) . toEqual ( 4 ) ;
119
+ expect ( gd . _fullData [ 1 ] . x . length ) . toEqual ( 3 ) ;
118
120
119
- assertDims ( [ 4 , 3 ] ) ;
121
+ assertDims ( [ 4 , 3 ] ) ;
120
122
121
- return Plotly . extendTraces ( gd , {
122
- x : [ [ - 3 , 4 , 5 ] ] ,
123
- y : [ [ 1 , - 2 , 3 ] ] ,
124
- 'transforms[0].groups' : [ [ 'b' , 'a' , 'b' ] ]
125
- } , [ 0 ] ) ;
126
- } ) . then ( function ( ) {
127
- expect ( gd . data [ 0 ] . x . length ) . toEqual ( 10 ) ;
128
- expect ( gd . _fullData [ 0 ] . x . length ) . toEqual ( 5 ) ;
129
- expect ( gd . _fullData [ 1 ] . x . length ) . toEqual ( 5 ) ;
123
+ return Plotly . extendTraces ( gd , {
124
+ x : [ [ - 3 , 4 , 5 ] ] ,
125
+ y : [ [ 1 , - 2 , 3 ] ] ,
126
+ 'transforms[0].groups' : [ [ 'b' , 'a' , 'b' ] ]
127
+ } , [ 0 ] ) ;
128
+ } ) . then ( function ( ) {
129
+ expect ( gd . data [ 0 ] . x . length ) . toEqual ( 10 ) ;
130
+ expect ( gd . _fullData [ 0 ] . x . length ) . toEqual ( 5 ) ;
131
+ expect ( gd . _fullData [ 1 ] . x . length ) . toEqual ( 5 ) ;
130
132
131
- assertDims ( [ 5 , 5 ] ) ;
133
+ assertDims ( [ 5 , 5 ] ) ;
132
134
133
- done ( ) ;
135
+ done ( ) ;
136
+ } ) ;
134
137
} ) ;
135
- } ) ;
136
138
137
- it ( 'Plotly.deleteTraces should work' , function ( done ) {
138
- var data = Lib . extendDeep ( [ ] , mockData1 ) ;
139
+ it ( 'Plotly.deleteTraces should work' , function ( done ) {
140
+ var data = Lib . extendDeep ( [ ] , mockData1 ) ;
139
141
140
- var gd = createGraphDiv ( ) ;
142
+ var gd = createGraphDiv ( ) ;
141
143
142
- Plotly . plot ( gd , data ) . then ( function ( ) {
143
- assertDims ( [ 4 , 3 , 4 , 3 ] ) ;
144
+ Plotly . plot ( gd , data ) . then ( function ( ) {
145
+ assertDims ( [ 4 , 3 , 4 , 3 ] ) ;
144
146
145
- return Plotly . deleteTraces ( gd , [ 1 ] ) ;
146
- } ) . then ( function ( ) {
147
- assertDims ( [ 4 , 3 ] ) ;
147
+ return Plotly . deleteTraces ( gd , [ 1 ] ) ;
148
+ } ) . then ( function ( ) {
149
+ assertDims ( [ 4 , 3 ] ) ;
148
150
149
- return Plotly . deleteTraces ( gd , [ 0 ] ) ;
150
- } ) . then ( function ( ) {
151
- assertDims ( [ ] ) ;
151
+ return Plotly . deleteTraces ( gd , [ 0 ] ) ;
152
+ } ) . then ( function ( ) {
153
+ assertDims ( [ ] ) ;
152
154
153
- done ( ) ;
155
+ done ( ) ;
156
+ } ) ;
154
157
} ) ;
155
- } ) ;
156
158
157
- it ( 'toggling trace visibility should work' , function ( done ) {
158
- var data = Lib . extendDeep ( [ ] , mockData1 ) ;
159
+ it ( 'toggling trace visibility should work' , function ( done ) {
160
+ var data = Lib . extendDeep ( [ ] , mockData1 ) ;
159
161
160
- var gd = createGraphDiv ( ) ;
162
+ var gd = createGraphDiv ( ) ;
161
163
162
- Plotly . plot ( gd , data ) . then ( function ( ) {
163
- assertDims ( [ 4 , 3 , 4 , 3 ] ) ;
164
+ Plotly . plot ( gd , data ) . then ( function ( ) {
165
+ assertDims ( [ 4 , 3 , 4 , 3 ] ) ;
164
166
165
- return Plotly . restyle ( gd , 'visible' , 'legendonly' , [ 1 ] ) ;
166
- } ) . then ( function ( ) {
167
- assertDims ( [ 4 , 3 ] ) ;
167
+ return Plotly . restyle ( gd , 'visible' , 'legendonly' , [ 1 ] ) ;
168
+ } ) . then ( function ( ) {
169
+ assertDims ( [ 4 , 3 ] ) ;
168
170
169
- return Plotly . restyle ( gd , 'visible' , false , [ 0 ] ) ;
170
- } ) . then ( function ( ) {
171
- assertDims ( [ ] ) ;
171
+ return Plotly . restyle ( gd , 'visible' , false , [ 0 ] ) ;
172
+ } ) . then ( function ( ) {
173
+ assertDims ( [ ] ) ;
172
174
173
- return Plotly . restyle ( gd , 'visible' , [ true , true ] , [ 0 , 1 ] ) ;
174
- } ) . then ( function ( ) {
175
- assertDims ( [ 4 , 3 , 4 , 3 ] ) ;
175
+ return Plotly . restyle ( gd , 'visible' , [ true , true ] , [ 0 , 1 ] ) ;
176
+ } ) . then ( function ( ) {
177
+ assertDims ( [ 4 , 3 , 4 , 3 ] ) ;
176
178
177
- done ( ) ;
179
+ done ( ) ;
180
+ } ) ;
178
181
} ) ;
182
+
179
183
} ) ;
180
184
181
185
} ) ;
0 commit comments