Skip to content

Commit d3d7b47

Browse files
committed
fix multicategory ordering after sorting
1 parent 0078626 commit d3d7b47

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

src/plots/cartesian/set_convert.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,13 @@ module.exports = function setConvert(ax, fullLayout) {
178178
var ind1 = seen[1][1];
179179
return ind1[a[1]] - ind1[b[1]];
180180
});
181-
}
182181

183-
for(i = 0; i < len; i++) {
184-
arrayOut[i] = setCategoryIndex(tmp[i]);
182+
for(i = 0; i < len; i++) {
183+
setCategoryIndex(tmp[i]);
184+
}
185+
for(i = 0; i < len; i++) {
186+
arrayOut[i] = getCategoryIndex([arrayIn[0][i], arrayIn[1][i]]);
187+
}
185188
}
186189

187190
return arrayOut;
0 Bytes
Loading
220 Bytes
Loading

test/jasmine/tests/axes_test.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2856,7 +2856,7 @@ describe('Test axes', function() {
28562856
x: [['1', '2', '1', '2'], ['a', 'a', 'b', 'b']]
28572857
}, 'x', 'multicategory');
28582858

2859-
expect(out).toEqual([0, 1, 2, 3]);
2859+
expect(out).toEqual([0, 2, 1, 3]);
28602860
expect(ax._categories).toEqual([['1', 'a'], ['1', 'b'], ['2', 'a'], ['2', 'b']]);
28612861
expect(ax._categoriesMap).toEqual({'1,a': 0, '1,b': 1, '2,a': 2, '2,b': 3});
28622862
});
@@ -2866,7 +2866,7 @@ describe('Test axes', function() {
28662866
x: [['1', '2', null, '2'], ['a', 'a', 'b', 'b']]
28672867
}, 'x', 'multicategory');
28682868

2869-
expect(out).toEqual([0, 1, 2, BADNUM]);
2869+
expect(out).toEqual([0, 1, BADNUM, 2]);
28702870
expect(ax._categories).toEqual([['1', 'a'], ['2', 'a'], ['2', 'b']]);
28712871
expect(ax._categoriesMap).toEqual({'1,a': 0, '2,a': 1, '2,b': 2});
28722872
});
@@ -2876,7 +2876,7 @@ describe('Test axes', function() {
28762876
x: [['1', '2', '1', '2'], ['a', 'a', null, 'b']]
28772877
}, 'x', 'multicategory');
28782878

2879-
expect(out).toEqual([0, 1, 2, BADNUM]);
2879+
expect(out).toEqual([0, 1, BADNUM, 2]);
28802880
expect(ax._categories).toEqual([['1', 'a'], ['2', 'a'], ['2', 'b']]);
28812881
expect(ax._categoriesMap).toEqual({'1,a': 0, '2,a': 1, '2,b': 2});
28822882
});
@@ -2919,7 +2919,7 @@ describe('Test axes', function() {
29192919
]
29202920
}, 'x', 'multicategory');
29212921

2922-
expect(out).toEqual([0, 1, 2, 3]);
2922+
expect(out).toEqual([0, 2, 1, 3]);
29232923
expect(ax._categories).toEqual([[1, 10], [1, 20], [2, 10], [2, 20]]);
29242924
expect(ax._categoriesMap).toEqual({'1,10': 0, '1,20': 1, '2,10': 2, '2,20': 3});
29252925
});

0 commit comments

Comments
 (0)