plotly.js 2.13.3 → 2.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +3 -3
- package/dist/README.md +19 -19
- package/dist/plot-schema.json +12 -0
- package/dist/plotly-basic.js +18 -3
- package/dist/plotly-basic.min.js +2 -2
- package/dist/plotly-cartesian.js +18 -3
- package/dist/plotly-cartesian.min.js +2 -2
- package/dist/plotly-finance.js +18 -3
- package/dist/plotly-finance.min.js +2 -2
- package/dist/plotly-geo-assets.js +2 -2
- package/dist/plotly-geo.js +18 -3
- package/dist/plotly-geo.min.js +2 -2
- package/dist/plotly-gl2d.js +18 -3
- package/dist/plotly-gl2d.min.js +2 -2
- package/dist/plotly-gl3d.js +18 -3
- package/dist/plotly-gl3d.min.js +2 -2
- package/dist/plotly-locale-nl.js +1 -1
- package/dist/plotly-mapbox.js +18 -3
- package/dist/plotly-mapbox.min.js +2 -2
- package/dist/plotly-strict.js +67 -35
- package/dist/plotly-strict.min.js +2 -2
- package/dist/plotly-with-meta.js +71 -35
- package/dist/plotly.js +67 -35
- package/dist/plotly.min.js +2 -2
- package/lib/locales/nl.js +42 -2
- package/package.json +1 -1
- package/src/components/selections/draw.js +11 -1
- package/src/plot_api/plot_config.js +6 -0
- package/src/traces/sankey/attributes.js +8 -0
- package/src/traces/sankey/defaults.js +1 -0
- package/src/traces/sankey/render.js +43 -32
- package/src/version.js +1 -1
package/lib/locales/nl.js
CHANGED
|
@@ -3,7 +3,41 @@
|
|
|
3
3
|
module.exports = {
|
|
4
4
|
moduleType: 'locale',
|
|
5
5
|
name: 'nl',
|
|
6
|
-
dictionary: {
|
|
6
|
+
dictionary: {
|
|
7
|
+
'Autoscale': 'Automatische schaal',
|
|
8
|
+
'Click to enter Colorscale title': 'Klik om kleurenschaal titel in te vullen',
|
|
9
|
+
'Click to enter Component A title': 'Klik om Component A titel in te vullen',
|
|
10
|
+
'Click to enter Component B title': 'Klik om Component B titel in te vullen',
|
|
11
|
+
'Click to enter Component C title': 'Klik om Component C titel in te vullen',
|
|
12
|
+
'Click to enter Plot title': 'Klik om Plot titel in te vullen',
|
|
13
|
+
'Click to enter X axis title': 'Klik om x-as titel in te vullen',
|
|
14
|
+
'Click to enter Y axis title': 'Klik om y-as titel in te vullen',
|
|
15
|
+
'Click to enter radial axis title': 'Klik om radiaal-as titel in te vullen',
|
|
16
|
+
'Double-click to zoom back out': 'Zoom uit door te dubbel klikken',
|
|
17
|
+
'Download plot as a png': 'Dowload de plot als een png-bestand',
|
|
18
|
+
'Download plot': 'Download de plot',
|
|
19
|
+
'Draw circle': 'Teken cirkel',
|
|
20
|
+
'Draw closed freeform': 'Teken gesloten vorm',
|
|
21
|
+
'Draw line': 'Teken lijn',
|
|
22
|
+
'Draw open freeform': 'Teken open vorm',
|
|
23
|
+
'Draw rectangle': 'Teken rechthoek',
|
|
24
|
+
'Edit in Chart Studio': 'In Chart Studio wijzigen',
|
|
25
|
+
'Erase active shape': 'Wis huidige vorm',
|
|
26
|
+
'IE only supports svg. Changing format to svg.': 'IE ondersteunt alleen svg bestanden. Formaat gewijzigd naar svg.',
|
|
27
|
+
'Lasso Select': 'Lasso selectie',
|
|
28
|
+
'Produced with Plotly.js': 'Gemaakt met Plotly.js',
|
|
29
|
+
'Zoom': 'Inzoomen',
|
|
30
|
+
'max:': 'maximum:',
|
|
31
|
+
'mean ± σ:': 'gemiddelde ± σ:',
|
|
32
|
+
'mean:': 'gemiddelde:',
|
|
33
|
+
'min:': 'minimum:',
|
|
34
|
+
'new text': 'nieuwe tekst',
|
|
35
|
+
'open:': 'openen:',
|
|
36
|
+
'high:': 'hoog:',
|
|
37
|
+
'low:': 'laag:',
|
|
38
|
+
'source:': 'bron:',
|
|
39
|
+
'target:': 'doel:',
|
|
40
|
+
},
|
|
7
41
|
format: {
|
|
8
42
|
days: [
|
|
9
43
|
'zondag', 'maandag', 'dinsdag', 'woensdag',
|
|
@@ -18,6 +52,12 @@ module.exports = {
|
|
|
18
52
|
'jan', 'feb', 'maa', 'apr', 'mei', 'jun',
|
|
19
53
|
'jul', 'aug', 'sep', 'okt', 'nov', 'dec'
|
|
20
54
|
],
|
|
21
|
-
date: '%d-%m-%Y'
|
|
55
|
+
date: '%d-%m-%Y',
|
|
56
|
+
decimal: ',',
|
|
57
|
+
thousands: '.',
|
|
58
|
+
year: '%Y',
|
|
59
|
+
month: '%b %Y',
|
|
60
|
+
dayMonth: '%-d %b',
|
|
61
|
+
dayMonthYear: '%-d %b %Y'
|
|
22
62
|
}
|
|
23
63
|
};
|
package/package.json
CHANGED
|
@@ -46,6 +46,10 @@ function draw(gd) {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
function couldHaveActiveSelection(gd) {
|
|
50
|
+
return gd._context.editSelection;
|
|
51
|
+
}
|
|
52
|
+
|
|
49
53
|
function drawOne(gd, index) {
|
|
50
54
|
// remove the existing selection if there is one.
|
|
51
55
|
// because indices can change, we need to look in all selection layers
|
|
@@ -82,7 +86,7 @@ function drawOne(gd, index) {
|
|
|
82
86
|
lineDash = 'solid';
|
|
83
87
|
}
|
|
84
88
|
|
|
85
|
-
var isActiveSelection =
|
|
89
|
+
var isActiveSelection = couldHaveActiveSelection(gd) &&
|
|
86
90
|
gd._fullLayout._activeSelectionIndex === index;
|
|
87
91
|
|
|
88
92
|
if(isActiveSelection) {
|
|
@@ -149,6 +153,8 @@ function setClipPath(selectionPath, gd, selectionOptions) {
|
|
|
149
153
|
|
|
150
154
|
|
|
151
155
|
function activateSelection(gd, path) {
|
|
156
|
+
if(!couldHaveActiveSelection(gd)) return;
|
|
157
|
+
|
|
152
158
|
var element = path.node();
|
|
153
159
|
var id = +element.getAttribute('data-index');
|
|
154
160
|
if(id >= 0) {
|
|
@@ -165,6 +171,8 @@ function activateSelection(gd, path) {
|
|
|
165
171
|
}
|
|
166
172
|
|
|
167
173
|
function activateLastSelection(gd) {
|
|
174
|
+
if(!couldHaveActiveSelection(gd)) return;
|
|
175
|
+
|
|
168
176
|
var id = gd._fullLayout.selections.length - 1;
|
|
169
177
|
gd._fullLayout._activeSelectionIndex = id;
|
|
170
178
|
gd._fullLayout._deactivateSelection = deactivateSelection;
|
|
@@ -172,6 +180,8 @@ function activateLastSelection(gd) {
|
|
|
172
180
|
}
|
|
173
181
|
|
|
174
182
|
function deactivateSelection(gd) {
|
|
183
|
+
if(!couldHaveActiveSelection(gd)) return;
|
|
184
|
+
|
|
175
185
|
var id = gd._fullLayout._activeSelectionIndex;
|
|
176
186
|
if(id >= 0) {
|
|
177
187
|
clearOutlineControllers(gd);
|
|
@@ -168,6 +168,14 @@ var attrs = module.exports = overrideAll({
|
|
|
168
168
|
},
|
|
169
169
|
|
|
170
170
|
link: {
|
|
171
|
+
arrowlen: {
|
|
172
|
+
valType: 'number',
|
|
173
|
+
min: 0,
|
|
174
|
+
dflt: 0,
|
|
175
|
+
description: [
|
|
176
|
+
'Sets the length (in px) of the links arrow, if 0 no arrow will be drawn.'
|
|
177
|
+
].join(' ')
|
|
178
|
+
},
|
|
171
179
|
label: {
|
|
172
180
|
valType: 'data_array',
|
|
173
181
|
dflt: [],
|
|
@@ -52,6 +52,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
|
|
|
52
52
|
return Lib.coerce(linkIn, linkOut, attributes.link, attr, dflt);
|
|
53
53
|
}
|
|
54
54
|
coerceLink('label');
|
|
55
|
+
coerceLink('arrowlen');
|
|
55
56
|
coerceLink('source');
|
|
56
57
|
coerceLink('target');
|
|
57
58
|
coerceLink('value');
|
|
@@ -271,6 +271,7 @@ function sankeyModel(layout, d, traceIndex) {
|
|
|
271
271
|
nodeLineWidth: trace.node.line.width,
|
|
272
272
|
linkLineColor: trace.link.line.color,
|
|
273
273
|
linkLineWidth: trace.link.line.width,
|
|
274
|
+
linkArrowLength: trace.link.arrowlen,
|
|
274
275
|
valueFormat: trace.valueformat,
|
|
275
276
|
valueSuffix: trace.valuesuffix,
|
|
276
277
|
textFont: trace.textfont,
|
|
@@ -309,6 +310,7 @@ function linkModel(d, l, i) {
|
|
|
309
310
|
linkPath: linkPath,
|
|
310
311
|
linkLineColor: d.linkLineColor,
|
|
311
312
|
linkLineWidth: d.linkLineWidth,
|
|
313
|
+
linkArrowLength: d.linkArrowLength,
|
|
312
314
|
valueFormat: d.valueFormat,
|
|
313
315
|
valueSuffix: d.valueSuffix,
|
|
314
316
|
sankey: d.sankey,
|
|
@@ -318,7 +320,7 @@ function linkModel(d, l, i) {
|
|
|
318
320
|
};
|
|
319
321
|
}
|
|
320
322
|
|
|
321
|
-
function createCircularClosedPathString(link) {
|
|
323
|
+
function createCircularClosedPathString(link, arrowLen) {
|
|
322
324
|
// Using coordinates computed by d3-sankey-circular
|
|
323
325
|
var pathString = '';
|
|
324
326
|
var offset = link.width / 2;
|
|
@@ -328,17 +330,17 @@ function createCircularClosedPathString(link) {
|
|
|
328
330
|
pathString =
|
|
329
331
|
// start at the left of the target node
|
|
330
332
|
'M ' +
|
|
331
|
-
coords.targetX + ' ' + (coords.targetY + offset) + ' ' +
|
|
333
|
+
(coords.targetX - arrowLen) + ' ' + (coords.targetY + offset) + ' ' +
|
|
332
334
|
'L' +
|
|
333
|
-
coords.rightInnerExtent + ' ' + (coords.targetY + offset) +
|
|
335
|
+
(coords.rightInnerExtent - arrowLen) + ' ' + (coords.targetY + offset) +
|
|
334
336
|
'A' +
|
|
335
337
|
(coords.rightLargeArcRadius + offset) + ' ' + (coords.rightSmallArcRadius + offset) + ' 0 0 1 ' +
|
|
336
|
-
(coords.rightFullExtent - offset) + ' ' + (coords.targetY - coords.rightSmallArcRadius) +
|
|
338
|
+
(coords.rightFullExtent - offset - arrowLen) + ' ' + (coords.targetY - coords.rightSmallArcRadius) +
|
|
337
339
|
'L' +
|
|
338
|
-
(coords.rightFullExtent - offset) + ' ' + coords.verticalRightInnerExtent +
|
|
340
|
+
(coords.rightFullExtent - offset - arrowLen) + ' ' + coords.verticalRightInnerExtent +
|
|
339
341
|
'A' +
|
|
340
342
|
(coords.rightLargeArcRadius + offset) + ' ' + (coords.rightLargeArcRadius + offset) + ' 0 0 1 ' +
|
|
341
|
-
coords.rightInnerExtent + ' ' + (coords.verticalFullExtent - offset) +
|
|
343
|
+
(coords.rightInnerExtent - arrowLen) + ' ' + (coords.verticalFullExtent - offset) +
|
|
342
344
|
'L' +
|
|
343
345
|
coords.leftInnerExtent + ' ' + (coords.verticalFullExtent - offset) +
|
|
344
346
|
'A' +
|
|
@@ -366,34 +368,35 @@ function createCircularClosedPathString(link) {
|
|
|
366
368
|
(coords.leftLargeArcRadius - offset) + ' ' + (coords.leftLargeArcRadius - offset) + ' 0 0 0 ' +
|
|
367
369
|
coords.leftInnerExtent + ' ' + (coords.verticalFullExtent + offset) +
|
|
368
370
|
'L' +
|
|
369
|
-
coords.rightInnerExtent + ' ' + (coords.verticalFullExtent + offset) +
|
|
371
|
+
(coords.rightInnerExtent - arrowLen) + ' ' + (coords.verticalFullExtent + offset) +
|
|
370
372
|
'A' +
|
|
371
373
|
(coords.rightLargeArcRadius - offset) + ' ' + (coords.rightLargeArcRadius - offset) + ' 0 0 0 ' +
|
|
372
|
-
(coords.rightFullExtent + offset) + ' ' + coords.verticalRightInnerExtent +
|
|
374
|
+
(coords.rightFullExtent + offset - arrowLen) + ' ' + coords.verticalRightInnerExtent +
|
|
373
375
|
'L' +
|
|
374
|
-
(coords.rightFullExtent + offset) + ' ' + (coords.targetY - coords.rightSmallArcRadius) +
|
|
376
|
+
(coords.rightFullExtent + offset - arrowLen) + ' ' + (coords.targetY - coords.rightSmallArcRadius) +
|
|
375
377
|
'A' +
|
|
376
378
|
(coords.rightLargeArcRadius - offset) + ' ' + (coords.rightSmallArcRadius - offset) + ' 0 0 0 ' +
|
|
377
|
-
coords.rightInnerExtent + ' ' + (coords.targetY - offset) +
|
|
379
|
+
(coords.rightInnerExtent - arrowLen) + ' ' + (coords.targetY - offset) +
|
|
378
380
|
'L' +
|
|
379
|
-
coords.targetX + ' ' + (coords.targetY - offset) +
|
|
381
|
+
(coords.targetX - arrowLen) + ' ' + (coords.targetY - offset) +
|
|
382
|
+
(arrowLen > 0 ? 'L' + coords.targetX + ' ' + (coords.targetY) : '') +
|
|
380
383
|
'Z';
|
|
381
384
|
} else {
|
|
382
385
|
// Bottom path
|
|
383
386
|
pathString =
|
|
384
387
|
// start at the left of the target node
|
|
385
388
|
'M ' +
|
|
386
|
-
coords.targetX + ' ' + (coords.targetY - offset) + ' ' +
|
|
389
|
+
(coords.targetX - arrowLen) + ' ' + (coords.targetY - offset) + ' ' +
|
|
387
390
|
'L' +
|
|
388
|
-
coords.rightInnerExtent + ' ' + (coords.targetY - offset) +
|
|
391
|
+
(coords.rightInnerExtent - arrowLen) + ' ' + (coords.targetY - offset) +
|
|
389
392
|
'A' +
|
|
390
393
|
(coords.rightLargeArcRadius + offset) + ' ' + (coords.rightSmallArcRadius + offset) + ' 0 0 0 ' +
|
|
391
|
-
(coords.rightFullExtent - offset) + ' ' + (coords.targetY + coords.rightSmallArcRadius) +
|
|
394
|
+
(coords.rightFullExtent - offset - arrowLen) + ' ' + (coords.targetY + coords.rightSmallArcRadius) +
|
|
392
395
|
'L' +
|
|
393
|
-
(coords.rightFullExtent - offset) + ' ' + coords.verticalRightInnerExtent +
|
|
396
|
+
(coords.rightFullExtent - offset - arrowLen) + ' ' + coords.verticalRightInnerExtent +
|
|
394
397
|
'A' +
|
|
395
398
|
(coords.rightLargeArcRadius + offset) + ' ' + (coords.rightLargeArcRadius + offset) + ' 0 0 0 ' +
|
|
396
|
-
coords.rightInnerExtent + ' ' + (coords.verticalFullExtent + offset) +
|
|
399
|
+
(coords.rightInnerExtent - arrowLen) + ' ' + (coords.verticalFullExtent + offset) +
|
|
397
400
|
'L' +
|
|
398
401
|
coords.leftInnerExtent + ' ' + (coords.verticalFullExtent + offset) +
|
|
399
402
|
'A' +
|
|
@@ -421,17 +424,18 @@ function createCircularClosedPathString(link) {
|
|
|
421
424
|
(coords.leftLargeArcRadius - offset) + ' ' + (coords.leftLargeArcRadius - offset) + ' 0 0 1 ' +
|
|
422
425
|
coords.leftInnerExtent + ' ' + (coords.verticalFullExtent - offset) +
|
|
423
426
|
'L' +
|
|
424
|
-
coords.rightInnerExtent + ' ' + (coords.verticalFullExtent - offset) +
|
|
427
|
+
(coords.rightInnerExtent - arrowLen) + ' ' + (coords.verticalFullExtent - offset) +
|
|
425
428
|
'A' +
|
|
426
429
|
(coords.rightLargeArcRadius - offset) + ' ' + (coords.rightLargeArcRadius - offset) + ' 0 0 1 ' +
|
|
427
|
-
(coords.rightFullExtent + offset) + ' ' + coords.verticalRightInnerExtent +
|
|
430
|
+
(coords.rightFullExtent + offset - arrowLen) + ' ' + coords.verticalRightInnerExtent +
|
|
428
431
|
'L' +
|
|
429
|
-
(coords.rightFullExtent + offset) + ' ' + (coords.targetY + coords.rightSmallArcRadius) +
|
|
432
|
+
(coords.rightFullExtent + offset - arrowLen) + ' ' + (coords.targetY + coords.rightSmallArcRadius) +
|
|
430
433
|
'A' +
|
|
431
434
|
(coords.rightLargeArcRadius - offset) + ' ' + (coords.rightSmallArcRadius - offset) + ' 0 0 1 ' +
|
|
432
|
-
coords.rightInnerExtent + ' ' + (coords.targetY + offset) +
|
|
435
|
+
(coords.rightInnerExtent - arrowLen) + ' ' + (coords.targetY + offset) +
|
|
433
436
|
'L' +
|
|
434
|
-
coords.targetX + ' ' + (coords.targetY + offset) +
|
|
437
|
+
(coords.targetX - arrowLen) + ' ' + (coords.targetY + offset) +
|
|
438
|
+
(arrowLen > 0 ? 'L' + coords.targetX + ' ' + (coords.targetY) : '') +
|
|
435
439
|
'Z';
|
|
436
440
|
}
|
|
437
441
|
return pathString;
|
|
@@ -440,11 +444,16 @@ function createCircularClosedPathString(link) {
|
|
|
440
444
|
function linkPath() {
|
|
441
445
|
var curvature = 0.5;
|
|
442
446
|
function path(d) {
|
|
447
|
+
var arrowLen = d.linkArrowLength;
|
|
443
448
|
if(d.link.circular) {
|
|
444
|
-
return createCircularClosedPathString(d.link);
|
|
449
|
+
return createCircularClosedPathString(d.link, arrowLen);
|
|
445
450
|
} else {
|
|
451
|
+
var maxArrowLength = Math.abs((d.link.target.x0 - d.link.source.x1) / 2);
|
|
452
|
+
if(arrowLen > maxArrowLength) {
|
|
453
|
+
arrowLen = maxArrowLength;
|
|
454
|
+
}
|
|
446
455
|
var x0 = d.link.source.x1;
|
|
447
|
-
var x1 = d.link.target.x0;
|
|
456
|
+
var x1 = d.link.target.x0 - arrowLen;
|
|
448
457
|
var xi = interpolateNumber(x0, x1);
|
|
449
458
|
var x2 = xi(curvature);
|
|
450
459
|
var x3 = xi(1 - curvature);
|
|
@@ -452,15 +461,17 @@ function linkPath() {
|
|
|
452
461
|
var y0b = d.link.y0 + d.link.width / 2;
|
|
453
462
|
var y1a = d.link.y1 - d.link.width / 2;
|
|
454
463
|
var y1b = d.link.y1 + d.link.width / 2;
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
+
var start = 'M' + x0 + ',' + y0a;
|
|
465
|
+
var upperCurve = 'C' + x2 + ',' + y0a +
|
|
466
|
+
' ' + x3 + ',' + y1a +
|
|
467
|
+
' ' + x1 + ',' + y1a;
|
|
468
|
+
var lowerCurve = 'C' + x3 + ',' + y1b +
|
|
469
|
+
' ' + x2 + ',' + y0b +
|
|
470
|
+
' ' + x0 + ',' + y0b;
|
|
471
|
+
|
|
472
|
+
var rightEnd = arrowLen > 0 ? 'L' + (x1 + arrowLen) + ',' + (y1a + d.link.width / 2) : '';
|
|
473
|
+
rightEnd += 'L' + x1 + ',' + y1b;
|
|
474
|
+
return start + upperCurve + rightEnd + lowerCurve + 'Z';
|
|
464
475
|
}
|
|
465
476
|
}
|
|
466
477
|
return path;
|
package/src/version.js
CHANGED