10
10
11
11
var isNumeric = require ( 'fast-isnumeric' ) ;
12
12
13
- module . exports = function clean2dArray ( zOld , transpose ) {
13
+ module . exports = function clean2dArray ( zOld , transpose , trace , xa , ya ) {
14
14
var rowlen , collen , getCollen , old2new , i , j ;
15
15
16
16
function cleanZvalue ( v ) {
@@ -30,12 +30,21 @@ module.exports = function clean2dArray(zOld, transpose) {
30
30
old2new = function ( zOld , i , j ) { return zOld [ i ] [ j ] ; } ;
31
31
}
32
32
33
+ var xMap = function ( i ) { return i ; } ;
34
+ var yMap = function ( i ) { return i ; } ;
35
+ if ( ya . type === 'category' ) {
36
+ yMap = function ( i ) { return ya . _categoriesMap [ trace . y [ i ] ] ; } ;
37
+ }
38
+ if ( xa . type === 'category' ) {
39
+ xMap = function ( i ) { return xa . _categoriesMap [ trace . x [ i ] ] ; } ;
40
+ }
41
+
33
42
var zNew = new Array ( rowlen ) ;
34
43
35
44
for ( i = 0 ; i < rowlen ; i ++ ) {
36
45
collen = getCollen ( zOld , i ) ;
37
46
zNew [ i ] = new Array ( collen ) ;
38
- for ( j = 0 ; j < collen ; j ++ ) zNew [ i ] [ j ] = cleanZvalue ( old2new ( zOld , i , j ) ) ;
47
+ for ( j = 0 ; j < collen ; j ++ ) zNew [ i ] [ j ] = cleanZvalue ( old2new ( zOld , yMap ( i ) , xMap ( j ) ) ) ;
39
48
}
40
49
41
50
return zNew ;
0 commit comments