plotly.js 2.8.0 → 2.9.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/.circleci/env_image.sh +1 -1
- package/CHANGELOG.md +32 -0
- package/README.md +3 -3
- package/dist/README.md +26 -26
- package/dist/plot-schema.json +315 -0
- package/dist/plotly-basic.js +84 -12
- package/dist/plotly-basic.min.js +5 -5
- package/dist/plotly-cartesian.js +101 -17
- package/dist/plotly-cartesian.min.js +3 -3
- package/dist/plotly-finance.js +88 -14
- package/dist/plotly-finance.min.js +3 -3
- package/dist/plotly-geo-assets.js +3 -3
- package/dist/plotly-geo.js +76 -11
- package/dist/plotly-geo.min.js +3 -3
- package/dist/plotly-gl2d.js +79 -13
- package/dist/plotly-gl2d.min.js +3 -3
- package/dist/plotly-gl3d.js +77 -11
- package/dist/plotly-gl3d.min.js +9 -9
- package/dist/plotly-locale-cs.js +1 -1
- package/dist/plotly-locale-cy.js +1 -1
- package/dist/plotly-locale-de.js +1 -1
- package/dist/plotly-locale-es.js +1 -1
- package/dist/plotly-locale-fi.js +1 -1
- package/dist/plotly-locale-fr.js +1 -1
- package/dist/plotly-locale-it.js +1 -1
- package/dist/plotly-locale-ja.js +1 -1
- package/dist/plotly-locale-ko.js +1 -1
- package/dist/plotly-locale-pt-br.js +1 -1
- package/dist/plotly-locale-pt-pt.js +1 -1
- package/dist/plotly-locale-ru.js +1 -1
- package/dist/plotly-locale-sv.js +1 -1
- package/dist/plotly-locale-sw.js +1 -1
- package/dist/plotly-locale-uk.js +1 -1
- package/dist/plotly-locale-zh-cn.js +1 -1
- package/dist/plotly-mapbox.js +76 -11
- package/dist/plotly-mapbox.min.js +3 -3
- package/dist/plotly-strict.js +105 -17
- package/dist/plotly-strict.min.js +3 -3
- package/dist/plotly-with-meta.js +114 -17
- package/dist/plotly.js +106 -17
- package/dist/plotly.min.js +11 -11
- package/dist/translation-keys.txt +1 -1
- package/lib/locales/cs.js +1 -1
- package/lib/locales/cy.js +1 -1
- package/lib/locales/de.js +1 -1
- package/lib/locales/es.js +1 -1
- package/lib/locales/fi.js +1 -1
- package/lib/locales/fr.js +1 -1
- package/lib/locales/it.js +1 -1
- package/lib/locales/ja.js +1 -1
- package/lib/locales/ko.js +1 -1
- package/lib/locales/pt-br.js +1 -1
- package/lib/locales/pt-pt.js +1 -1
- package/lib/locales/ru.js +1 -1
- package/lib/locales/sv.js +1 -1
- package/lib/locales/sw.js +1 -1
- package/lib/locales/uk.js +1 -1
- package/lib/locales/zh-cn.js +1 -1
- package/package.json +11 -11
- package/src/components/colorbar/attributes.js +1 -0
- package/src/components/colorbar/draw.js +1 -0
- package/src/components/legend/draw.js +2 -1
- package/src/components/modebar/modebar.js +7 -1
- package/src/plots/cartesian/axes.js +47 -5
- package/src/plots/cartesian/layout_attributes.js +14 -0
- package/src/plots/cartesian/tick_label_defaults.js +8 -0
- package/src/plots/gl3d/layout/axis_defaults.js +1 -0
- package/src/plots/polar/layout_attributes.js +1 -0
- package/src/plots/smith/layout_defaults.js +1 -0
- package/src/plots/ternary/layout_attributes.js +1 -0
- package/src/traces/bar/plot.js +8 -1
- package/src/traces/carpet/ab_defaults.js +1 -0
- package/src/traces/heatmap/plot.js +4 -2
- package/src/traces/histogram/calc.js +3 -2
- package/src/traces/indicator/attributes.js +1 -0
- package/src/version.js +1 -1
- package/.vscode/launch.json +0 -0
package/dist/plotly-cartesian.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* plotly.js (cartesian) v2.
|
|
3
|
-
* Copyright 2012-
|
|
2
|
+
* plotly.js (cartesian) v2.9.0
|
|
3
|
+
* Copyright 2012-2022, Plotly, Inc.
|
|
4
4
|
* All rights reserved.
|
|
5
5
|
* Licensed under the MIT license
|
|
6
6
|
*/
|
|
@@ -15724,7 +15724,15 @@ exports.readUInt32BE = function (data, offset) {
|
|
|
15724
15724
|
|
|
15725
15725
|
function ProbeError(message, code, statusCode) {
|
|
15726
15726
|
Error.call(this);
|
|
15727
|
-
|
|
15727
|
+
|
|
15728
|
+
// Include stack trace in error object
|
|
15729
|
+
if (Error.captureStackTrace) {
|
|
15730
|
+
// Chrome and NodeJS
|
|
15731
|
+
Error.captureStackTrace(this, this.constructor);
|
|
15732
|
+
} else {
|
|
15733
|
+
// FF, IE 10+ and Safari 6+. Fallback for others
|
|
15734
|
+
this.stack = (new Error()).stack || '';
|
|
15735
|
+
}
|
|
15728
15736
|
|
|
15729
15737
|
this.name = this.constructor.name;
|
|
15730
15738
|
|
|
@@ -30822,6 +30830,7 @@ module.exports = overrideAll({
|
|
|
30822
30830
|
ticklen: axesAttrs.ticklen,
|
|
30823
30831
|
tickwidth: axesAttrs.tickwidth,
|
|
30824
30832
|
tickcolor: axesAttrs.tickcolor,
|
|
30833
|
+
ticklabelstep: axesAttrs.ticklabelstep,
|
|
30825
30834
|
showticklabels: axesAttrs.showticklabels,
|
|
30826
30835
|
tickfont: fontAttrs({
|
|
30827
30836
|
}),
|
|
@@ -31912,6 +31921,7 @@ function mockColorBarAxis(gd, opts, zrange) {
|
|
|
31912
31921
|
showticklabels: opts.showticklabels,
|
|
31913
31922
|
ticklabelposition: opts.ticklabelposition,
|
|
31914
31923
|
ticklabeloverflow: opts.ticklabeloverflow,
|
|
31924
|
+
ticklabelstep: opts.ticklabelstep,
|
|
31915
31925
|
tickfont: opts.tickfont,
|
|
31916
31926
|
tickangle: opts.tickangle,
|
|
31917
31927
|
tickformat: opts.tickformat,
|
|
@@ -40718,7 +40728,6 @@ function computeLegendDimensions(gd, groups, traces, legendObj) {
|
|
|
40718
40728
|
offsetY += h;
|
|
40719
40729
|
maxWidthInGroup = Math.max(maxWidthInGroup, textGap + w);
|
|
40720
40730
|
});
|
|
40721
|
-
maxGroupHeightInRow = Math.max(maxGroupHeightInRow, offsetY);
|
|
40722
40731
|
|
|
40723
40732
|
var next = maxWidthInGroup + itemGap;
|
|
40724
40733
|
|
|
@@ -40734,6 +40743,8 @@ function computeLegendDimensions(gd, groups, traces, legendObj) {
|
|
|
40734
40743
|
groupOffsetX = 0;
|
|
40735
40744
|
groupOffsetY += maxGroupHeightInRow + traceGroupGap;
|
|
40736
40745
|
maxGroupHeightInRow = offsetY;
|
|
40746
|
+
} else {
|
|
40747
|
+
maxGroupHeightInRow = Math.max(maxGroupHeightInRow, offsetY);
|
|
40737
40748
|
}
|
|
40738
40749
|
|
|
40739
40750
|
Drawing.setTranslate(this, groupOffsetX, groupOffsetY);
|
|
@@ -43216,6 +43227,8 @@ var isNumeric = _dereq_('fast-isnumeric');
|
|
|
43216
43227
|
|
|
43217
43228
|
var Lib = _dereq_('../../lib');
|
|
43218
43229
|
var Icons = _dereq_('../../fonts/ploticon');
|
|
43230
|
+
var version = _dereq_('../../version').version;
|
|
43231
|
+
|
|
43219
43232
|
var Parser = new DOMParser();
|
|
43220
43233
|
|
|
43221
43234
|
/**
|
|
@@ -43494,6 +43507,10 @@ proto.hasButtons = function(buttons) {
|
|
|
43494
43507
|
return true;
|
|
43495
43508
|
};
|
|
43496
43509
|
|
|
43510
|
+
function jsVersion(str) {
|
|
43511
|
+
return str + ' (v' + version + ')';
|
|
43512
|
+
}
|
|
43513
|
+
|
|
43497
43514
|
/**
|
|
43498
43515
|
* @return {HTMLDivElement} The logo image wrapped in a group
|
|
43499
43516
|
*/
|
|
@@ -43503,7 +43520,7 @@ proto.getLogo = function() {
|
|
|
43503
43520
|
|
|
43504
43521
|
a.href = 'https://plotly.com/';
|
|
43505
43522
|
a.target = '_blank';
|
|
43506
|
-
a.setAttribute('data-title', Lib._(this.graphInfo, 'Produced with Plotly'));
|
|
43523
|
+
a.setAttribute('data-title', jsVersion(Lib._(this.graphInfo, 'Produced with Plotly.js')));
|
|
43507
43524
|
a.className = 'modebar-btn plotlyjsicon modebar-btn--logo';
|
|
43508
43525
|
|
|
43509
43526
|
a.appendChild(this.createIcon(Icons.newplotlylogo));
|
|
@@ -43545,7 +43562,7 @@ function createModeBar(gd, buttons) {
|
|
|
43545
43562
|
|
|
43546
43563
|
module.exports = createModeBar;
|
|
43547
43564
|
|
|
43548
|
-
},{"../../fonts/ploticon":270,"../../lib":287,"@plotly/d3":20,"fast-isnumeric":33}],223:[function(_dereq_,module,exports){
|
|
43565
|
+
},{"../../fonts/ploticon":270,"../../lib":287,"../../version":552,"@plotly/d3":20,"fast-isnumeric":33}],223:[function(_dereq_,module,exports){
|
|
43549
43566
|
'use strict';
|
|
43550
43567
|
|
|
43551
43568
|
var fontAttrs = _dereq_('../../plots/font_attributes');
|
|
@@ -66938,7 +66955,8 @@ axes.calcTicks = function calcTicks(ax, opts) {
|
|
|
66938
66955
|
var minRange = Math.min(rng[0], rng[1]);
|
|
66939
66956
|
var maxRange = Math.max(rng[0], rng[1]);
|
|
66940
66957
|
|
|
66941
|
-
var
|
|
66958
|
+
var numDtick = isNumeric(ax.dtick);
|
|
66959
|
+
var isDLog = (ax.type === 'log') && !(numDtick || ax.dtick.charAt(0) === 'L');
|
|
66942
66960
|
var isPeriod = ax.ticklabelmode === 'period';
|
|
66943
66961
|
|
|
66944
66962
|
// find the first tick
|
|
@@ -66969,13 +66987,36 @@ axes.calcTicks = function calcTicks(ax, opts) {
|
|
|
66969
66987
|
x = axes.tickIncrement(x, ax.dtick, !axrev, ax.calendar);
|
|
66970
66988
|
}
|
|
66971
66989
|
|
|
66990
|
+
var ticklabelstep = ax.ticklabelstep;
|
|
66991
|
+
|
|
66972
66992
|
var maxTicks = Math.max(1000, ax._length || 0);
|
|
66973
66993
|
var tickVals = [];
|
|
66974
66994
|
var xPrevious = null;
|
|
66995
|
+
|
|
66996
|
+
var dTick;
|
|
66997
|
+
if(numDtick) {
|
|
66998
|
+
dTick = ax.dtick;
|
|
66999
|
+
} else {
|
|
67000
|
+
if(ax.type === 'date') {
|
|
67001
|
+
if(typeof ax.dtick === 'string' && ax.dtick.charAt(0) === 'M') {
|
|
67002
|
+
dTick = ONEAVGMONTH * ax.dtick.substring(1);
|
|
67003
|
+
}
|
|
67004
|
+
} else {
|
|
67005
|
+
dTick = ax._roughDTick;
|
|
67006
|
+
}
|
|
67007
|
+
}
|
|
67008
|
+
|
|
67009
|
+
var id = Math.round((
|
|
67010
|
+
ax.r2l(x) -
|
|
67011
|
+
ax.r2l(ax.tick0)
|
|
67012
|
+
) / dTick) - 1;
|
|
67013
|
+
|
|
66975
67014
|
for(;
|
|
66976
67015
|
(axrev) ? (x >= endTick) : (x <= endTick);
|
|
66977
67016
|
x = axes.tickIncrement(x, ax.dtick, axrev, ax.calendar)
|
|
66978
67017
|
) {
|
|
67018
|
+
id++;
|
|
67019
|
+
|
|
66979
67020
|
if(ax.rangebreaks) {
|
|
66980
67021
|
if(!axrev) {
|
|
66981
67022
|
if(x < startTick) continue;
|
|
@@ -66993,10 +67034,16 @@ axes.calcTicks = function calcTicks(ax, opts) {
|
|
|
66993
67034
|
minor = true;
|
|
66994
67035
|
}
|
|
66995
67036
|
|
|
66996
|
-
|
|
67037
|
+
var obj = {
|
|
66997
67038
|
minor: minor,
|
|
66998
67039
|
value: x
|
|
66999
|
-
}
|
|
67040
|
+
};
|
|
67041
|
+
|
|
67042
|
+
if(ticklabelstep > 1 && id % ticklabelstep) {
|
|
67043
|
+
obj.skipLabel = true;
|
|
67044
|
+
}
|
|
67045
|
+
|
|
67046
|
+
tickVals.push(obj);
|
|
67000
67047
|
}
|
|
67001
67048
|
|
|
67002
67049
|
if(isPeriod) positionPeriodTicks(tickVals, ax, ax._definedDelta);
|
|
@@ -67049,12 +67096,20 @@ axes.calcTicks = function calcTicks(ax, opts) {
|
|
|
67049
67096
|
ax._prevDateHead = '';
|
|
67050
67097
|
ax._inCalcTicks = true;
|
|
67051
67098
|
|
|
67099
|
+
var lastVisibleHead;
|
|
67100
|
+
var hideLabel = function(tick) {
|
|
67101
|
+
tick.text = ' '; // don't use an empty string here which can confuse automargin (issue 5132)
|
|
67102
|
+
ax._prevDateHead = lastVisibleHead;
|
|
67103
|
+
};
|
|
67104
|
+
|
|
67052
67105
|
var ticksOut = [];
|
|
67053
67106
|
var t, p;
|
|
67054
67107
|
for(i = 0; i < tickVals.length; i++) {
|
|
67055
67108
|
var _minor = tickVals[i].minor;
|
|
67056
67109
|
var _value = tickVals[i].value;
|
|
67057
67110
|
|
|
67111
|
+
lastVisibleHead = ax._prevDateHead;
|
|
67112
|
+
|
|
67058
67113
|
t = axes.tickText(
|
|
67059
67114
|
ax,
|
|
67060
67115
|
_value,
|
|
@@ -67069,11 +67124,14 @@ axes.calcTicks = function calcTicks(ax, opts) {
|
|
|
67069
67124
|
if(p > maxRange) t.periodX = maxRange;
|
|
67070
67125
|
if(p < minRange) t.periodX = minRange;
|
|
67071
67126
|
|
|
67072
|
-
t
|
|
67073
|
-
ax._prevDateHead = '';
|
|
67127
|
+
hideLabel(t);
|
|
67074
67128
|
}
|
|
67075
67129
|
}
|
|
67076
67130
|
|
|
67131
|
+
if(tickVals[i].skipLabel) {
|
|
67132
|
+
hideLabel(t);
|
|
67133
|
+
}
|
|
67134
|
+
|
|
67077
67135
|
ticksOut.push(t);
|
|
67078
67136
|
}
|
|
67079
67137
|
|
|
@@ -69101,6 +69159,7 @@ axes.drawLabels = function(gd, ax, opts) {
|
|
|
69101
69159
|
var axId = ax._id;
|
|
69102
69160
|
var axLetter = axId.charAt(0);
|
|
69103
69161
|
var cls = opts.cls || axId + 'tick';
|
|
69162
|
+
|
|
69104
69163
|
var vals = opts.vals;
|
|
69105
69164
|
|
|
69106
69165
|
var labelFns = opts.labelFns;
|
|
@@ -73957,6 +74016,12 @@ module.exports = {
|
|
|
73957
74016
|
editType: 'ticks',
|
|
73958
74017
|
impliedEdits: {tickmode: 'linear'},
|
|
73959
74018
|
},
|
|
74019
|
+
ticklabelstep: {
|
|
74020
|
+
valType: 'integer',
|
|
74021
|
+
min: 1,
|
|
74022
|
+
dflt: 1,
|
|
74023
|
+
editType: 'ticks',
|
|
74024
|
+
},
|
|
73960
74025
|
tickvals: {
|
|
73961
74026
|
valType: 'data_array',
|
|
73962
74027
|
editType: 'ticks',
|
|
@@ -76821,6 +76886,14 @@ module.exports = function handleTickLabelDefaults(containerIn, containerOut, coe
|
|
|
76821
76886
|
color: dfltFontColor
|
|
76822
76887
|
});
|
|
76823
76888
|
|
|
76889
|
+
if(
|
|
76890
|
+
!options.noTicklabelstep &&
|
|
76891
|
+
axType !== 'multicategory' &&
|
|
76892
|
+
axType !== 'log'
|
|
76893
|
+
) {
|
|
76894
|
+
coerce('ticklabelstep');
|
|
76895
|
+
}
|
|
76896
|
+
|
|
76824
76897
|
if(!options.noAng) coerce('tickangle');
|
|
76825
76898
|
|
|
76826
76899
|
if(axType !== 'category') {
|
|
@@ -81939,6 +82012,7 @@ var ternaryAxesAttrs = {
|
|
|
81939
82012
|
ticklen: axesAttrs.ticklen,
|
|
81940
82013
|
tickwidth: axesAttrs.tickwidth,
|
|
81941
82014
|
tickcolor: axesAttrs.tickcolor,
|
|
82015
|
+
ticklabelstep: axesAttrs.ticklabelstep,
|
|
81942
82016
|
showticklabels: axesAttrs.showticklabels,
|
|
81943
82017
|
showtickprefix: axesAttrs.showtickprefix,
|
|
81944
82018
|
tickprefix: axesAttrs.tickprefix,
|
|
@@ -86417,12 +86491,14 @@ function calcTexttemplate(fullLayout, cd, index, xa, ya) {
|
|
|
86417
86491
|
var trace = cd[0].trace;
|
|
86418
86492
|
var texttemplate = Lib.castOption(trace, index, 'texttemplate');
|
|
86419
86493
|
if(!texttemplate) return '';
|
|
86494
|
+
var isHistogram = (trace.type === 'histogram');
|
|
86420
86495
|
var isWaterfall = (trace.type === 'waterfall');
|
|
86421
86496
|
var isFunnel = (trace.type === 'funnel');
|
|
86497
|
+
var isHorizontal = trace.orientation === 'h';
|
|
86422
86498
|
|
|
86423
86499
|
var pLetter, pAxis;
|
|
86424
86500
|
var vLetter, vAxis;
|
|
86425
|
-
if(
|
|
86501
|
+
if(isHorizontal) {
|
|
86426
86502
|
pLetter = 'y';
|
|
86427
86503
|
pAxis = ya;
|
|
86428
86504
|
vLetter = 'x';
|
|
@@ -86457,6 +86533,11 @@ function calcTexttemplate(fullLayout, cd, index, xa, ya) {
|
|
|
86457
86533
|
var pt = {};
|
|
86458
86534
|
appendArrayPointValue(pt, trace, cdi.i);
|
|
86459
86535
|
|
|
86536
|
+
if(isHistogram || pt.x === undefined) pt.x = isHorizontal ? obj.value : obj.label;
|
|
86537
|
+
if(isHistogram || pt.y === undefined) pt.y = isHorizontal ? obj.label : obj.value;
|
|
86538
|
+
if(isHistogram || pt.xLabel === undefined) pt.xLabel = isHorizontal ? obj.valueLabel : obj.labelLabel;
|
|
86539
|
+
if(isHistogram || pt.yLabel === undefined) pt.yLabel = isHorizontal ? obj.labelLabel : obj.valueLabel;
|
|
86540
|
+
|
|
86460
86541
|
if(isWaterfall) {
|
|
86461
86542
|
obj.delta = +cdi.rawS || cdi.s;
|
|
86462
86543
|
obj.deltaLabel = formatNumber(obj.delta);
|
|
@@ -92704,6 +92785,7 @@ module.exports = function(gd, plotinfo, cdheatmaps, heatmapLayer) {
|
|
|
92704
92785
|
var font = trace.textfont;
|
|
92705
92786
|
var fontFamily = font.family;
|
|
92706
92787
|
var fontSize = font.size;
|
|
92788
|
+
var globalFontSize = gd._fullLayout.font.size;
|
|
92707
92789
|
|
|
92708
92790
|
if(!fontSize || fontSize === 'auto') {
|
|
92709
92791
|
var minW = Infinity;
|
|
@@ -92730,7 +92812,7 @@ module.exports = function(gd, plotinfo, cdheatmaps, heatmapLayer) {
|
|
|
92730
92812
|
!isFinite(minW) ||
|
|
92731
92813
|
!isFinite(minH)
|
|
92732
92814
|
) {
|
|
92733
|
-
fontSize =
|
|
92815
|
+
fontSize = globalFontSize;
|
|
92734
92816
|
} else {
|
|
92735
92817
|
minW -= xGap;
|
|
92736
92818
|
minH -= yGap;
|
|
@@ -92743,7 +92825,8 @@ module.exports = function(gd, plotinfo, cdheatmaps, heatmapLayer) {
|
|
|
92743
92825
|
|
|
92744
92826
|
fontSize = Math.min(
|
|
92745
92827
|
Math.floor(minW),
|
|
92746
|
-
Math.floor(minH)
|
|
92828
|
+
Math.floor(minH),
|
|
92829
|
+
globalFontSize
|
|
92747
92830
|
);
|
|
92748
92831
|
}
|
|
92749
92832
|
}
|
|
@@ -93397,8 +93480,9 @@ var getBinSpanLabelRound = _dereq_('./bin_label_vals');
|
|
|
93397
93480
|
function calc(gd, trace) {
|
|
93398
93481
|
var pos = [];
|
|
93399
93482
|
var size = [];
|
|
93400
|
-
var
|
|
93401
|
-
var
|
|
93483
|
+
var isHorizontal = trace.orientation === 'h';
|
|
93484
|
+
var pa = Axes.getFromId(gd, isHorizontal ? trace.yaxis : trace.xaxis);
|
|
93485
|
+
var mainData = isHorizontal ? 'y' : 'x';
|
|
93402
93486
|
var counterData = {x: 'y', y: 'x'}[mainData];
|
|
93403
93487
|
var calendar = trace[mainData + 'calendar'];
|
|
93404
93488
|
var cumulativeSpec = trace.cumulative;
|
|
@@ -102807,7 +102891,7 @@ function getSortFunc(opts, d2c) {
|
|
|
102807
102891
|
'use strict';
|
|
102808
102892
|
|
|
102809
102893
|
// package version injected by `npm run preprocess`
|
|
102810
|
-
exports.version = '2.
|
|
102894
|
+
exports.version = '2.9.0';
|
|
102811
102895
|
|
|
102812
102896
|
},{}]},{},[15])(15)
|
|
102813
102897
|
});
|