Skip to content

Commit 65c7201

Browse files
committed
sankey: arangement defaults to freeform if node.(x|y) is specified
1 parent 40fb223 commit 65c7201

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

src/traces/sankey/defaults.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,12 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
8484
coerce('orientation');
8585
coerce('valueformat');
8686
coerce('valuesuffix');
87-
coerce('arrangement');
87+
88+
var dfltArrangement;
89+
if(nodeOut.x.length && nodeOut.y.length) {
90+
dfltArrangement = 'freeform';
91+
}
92+
coerce('arrangement', dfltArrangement);
8893

8994
Lib.coerceFont(coerce, 'textfont', Lib.extendFlat({}, layout.font));
9095

test/jasmine/tests/sankey_test.js

+26
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,32 @@ describe('sankey tests', function() {
250250
expect(Array.isArray(fullTrace.link.label)).toBe(true, 'must be an array');
251251
expect(fullTrace.link.label).toEqual(['a', 'b'], 'an array of the supplied values');
252252
});
253+
254+
it('defaults to `snap` arrangement', function() {
255+
var fullTrace = _supply({
256+
link: {
257+
source: [0],
258+
target: [1],
259+
value: [1]
260+
}
261+
});
262+
expect(fullTrace.arrangement).toBe('snap');
263+
});
264+
265+
it('defaults to `freeform` arrangement if node.(x|y) is specified', function() {
266+
var fullTrace = _supply({
267+
node: {
268+
x: [0, 0.5],
269+
y: [0, 0.5]
270+
},
271+
link: {
272+
source: [0],
273+
target: [1],
274+
value: [1]
275+
}
276+
});
277+
expect(fullTrace.arrangement).toBe('freeform');
278+
});
253279
});
254280

255281
describe('sankey calc', function() {

0 commit comments

Comments
 (0)