|
1 | 1 | /**
|
2 |
| -* plotly.js (basic) v1.43.0 |
| 2 | +* plotly.js (basic) v1.43.1 |
3 | 3 | * Copyright 2012-2018, Plotly, Inc.
|
4 | 4 | * All rights reserved.
|
5 | 5 | * Licensed under the MIT license
|
@@ -33751,7 +33751,7 @@ exports.svgAttrs = {
|
33751 | 33751 | 'use strict';
|
33752 | 33752 |
|
33753 | 33753 | // package version injected by `npm run preprocess`
|
33754 |
| -exports.version = '1.43.0'; |
| 33754 | +exports.version = '1.43.1'; |
33755 | 33755 |
|
33756 | 33756 | // inject promise polyfill
|
33757 | 33757 | _dereq_('es6-promise').polyfill();
|
@@ -50593,9 +50593,13 @@ axes.draw = function(gd, arg, opts) {
|
50593 | 50593 | plotinfo.xaxislayer.selectAll('.' + xa._id + 'tick').remove();
|
50594 | 50594 | plotinfo.yaxislayer.selectAll('.' + ya._id + 'tick').remove();
|
50595 | 50595 | plotinfo.xaxislayer.selectAll('.' + xa._id + 'tick2').remove();
|
| 50596 | + plotinfo.yaxislayer.selectAll('.' + ya._id + 'tick2').remove(); |
50596 | 50597 | plotinfo.xaxislayer.selectAll('.' + xa._id + 'divider').remove();
|
| 50598 | + plotinfo.yaxislayer.selectAll('.' + ya._id + 'divider').remove(); |
| 50599 | + |
50597 | 50600 | if(plotinfo.gridlayer) plotinfo.gridlayer.selectAll('path').remove();
|
50598 | 50601 | if(plotinfo.zerolinelayer) plotinfo.zerolinelayer.selectAll('path').remove();
|
| 50602 | + |
50599 | 50603 | fullLayout._infolayer.select('.g-' + xa._id + 'title').remove();
|
50600 | 50604 | fullLayout._infolayer.select('.g-' + ya._id + 'title').remove();
|
50601 | 50605 | });
|
@@ -53621,13 +53625,14 @@ function makeDragBox(gd, plotinfo, x, y, w, h, ns, ew) {
|
53621 | 53625 | for(i = 0; i < axList.length; i++) {
|
53622 | 53626 | ax = axList[i];
|
53623 | 53627 |
|
53624 |
| - if(!ax._rangeInitial) { |
53625 |
| - attrs[ax._name + '.autorange'] = true; |
53626 |
| - } |
53627 |
| - else { |
53628 |
| - rangeInitial = ax._rangeInitial; |
53629 |
| - attrs[ax._name + '.range[0]'] = rangeInitial[0]; |
53630 |
| - attrs[ax._name + '.range[1]'] = rangeInitial[1]; |
| 53628 | + if(!ax.fixedrange) { |
| 53629 | + if(!ax._rangeInitial) { |
| 53630 | + attrs[ax._name + '.autorange'] = true; |
| 53631 | + } else { |
| 53632 | + rangeInitial = ax._rangeInitial; |
| 53633 | + attrs[ax._name + '.range[0]'] = rangeInitial[0]; |
| 53634 | + attrs[ax._name + '.range[1]'] = rangeInitial[1]; |
| 53635 | + } |
53631 | 53636 | }
|
53632 | 53637 | }
|
53633 | 53638 | }
|
@@ -56806,6 +56811,7 @@ var cleanNumber = Lib.cleanNumber;
|
56806 | 56811 | var ms2DateTime = Lib.ms2DateTime;
|
56807 | 56812 | var dateTime2ms = Lib.dateTime2ms;
|
56808 | 56813 | var ensureNumber = Lib.ensureNumber;
|
| 56814 | +var isArrayOrTypedArray = Lib.isArrayOrTypedArray; |
56809 | 56815 |
|
56810 | 56816 | var numConstants = _dereq_('../../constants/numerical');
|
56811 | 56817 | var FP_SAFE = numConstants.FP_SAFE;
|
@@ -56937,40 +56943,11 @@ module.exports = function setConvert(ax, fullLayout) {
|
56937 | 56943 |
|
56938 | 56944 | function setMultiCategoryIndex(arrayIn, len) {
|
56939 | 56945 | var arrayOut = new Array(len);
|
56940 |
| - var i; |
56941 |
| - |
56942 |
| - // [ [arrayIn[0][i], arrayIn[1][i]], for i .. len ] |
56943 |
| - var tmp = new Array(len); |
56944 |
| - // [ [cnt, {$cat: index}], for j .. arrayIn.length ] |
56945 |
| - var seen = [[0, {}], [0, {}]]; |
56946 |
| - |
56947 |
| - if(Lib.isArrayOrTypedArray(arrayIn[0]) && Lib.isArrayOrTypedArray(arrayIn[1])) { |
56948 |
| - for(i = 0; i < len; i++) { |
56949 |
| - var v0 = arrayIn[0][i]; |
56950 |
| - var v1 = arrayIn[1][i]; |
56951 |
| - if(isValidCategory(v0) && isValidCategory(v1)) { |
56952 |
| - tmp[i] = [v0, v1]; |
56953 |
| - if(!(v0 in seen[0][1])) { |
56954 |
| - seen[0][1][v0] = seen[0][0]++; |
56955 |
| - } |
56956 |
| - if(!(v1 in seen[1][1])) { |
56957 |
| - seen[1][1][v1] = seen[1][0]++; |
56958 |
| - } |
56959 |
| - } |
56960 |
| - } |
56961 |
| - |
56962 |
| - tmp.sort(function(a, b) { |
56963 |
| - var ind0 = seen[0][1]; |
56964 |
| - var d = ind0[a[0]] - ind0[b[0]]; |
56965 |
| - if(d) return d; |
56966 |
| - |
56967 |
| - var ind1 = seen[1][1]; |
56968 |
| - return ind1[a[1]] - ind1[b[1]]; |
56969 |
| - }); |
56970 |
| - } |
56971 | 56946 |
|
56972 |
| - for(i = 0; i < len; i++) { |
56973 |
| - arrayOut[i] = setCategoryIndex(tmp[i]); |
| 56947 | + for(var i = 0; i < len; i++) { |
| 56948 | + var v0 = (arrayIn[0] || [])[i]; |
| 56949 | + var v1 = (arrayIn[1] || [])[i]; |
| 56950 | + arrayOut[i] = getCategoryIndex([v0, v1]); |
56974 | 56951 | }
|
56975 | 56952 |
|
56976 | 56953 | return arrayOut;
|
@@ -57119,6 +57096,56 @@ module.exports = function setConvert(ax, fullLayout) {
|
57119 | 57096 | if(Array.isArray(v) || (typeof v === 'string' && v !== '')) return v;
|
57120 | 57097 | return ensureNumber(v);
|
57121 | 57098 | };
|
| 57099 | + |
| 57100 | + ax.setupMultiCategory = function(fullData) { |
| 57101 | + var traceIndices = ax._traceIndices; |
| 57102 | + var i, j; |
| 57103 | + |
| 57104 | + // [ [cnt, {$cat: index}], for 1,2 ] |
| 57105 | + var seen = ax._multicatSeen = [[0, {}], [0, {}]]; |
| 57106 | + // [ [arrayIn[0][i], arrayIn[1][i]], for i .. N ] |
| 57107 | + var list = ax._multicatList = []; |
| 57108 | + |
| 57109 | + for(i = 0; i < traceIndices.length; i++) { |
| 57110 | + var trace = fullData[traceIndices[i]]; |
| 57111 | + |
| 57112 | + if(axLetter in trace) { |
| 57113 | + var arrayIn = trace[axLetter]; |
| 57114 | + var len = trace._length || Lib.minRowLength(arrayIn); |
| 57115 | + |
| 57116 | + if(isArrayOrTypedArray(arrayIn[0]) && isArrayOrTypedArray(arrayIn[1])) { |
| 57117 | + for(j = 0; j < len; j++) { |
| 57118 | + var v0 = arrayIn[0][j]; |
| 57119 | + var v1 = arrayIn[1][j]; |
| 57120 | + |
| 57121 | + if(isValidCategory(v0) && isValidCategory(v1)) { |
| 57122 | + list.push([v0, v1]); |
| 57123 | + |
| 57124 | + if(!(v0 in seen[0][1])) { |
| 57125 | + seen[0][1][v0] = seen[0][0]++; |
| 57126 | + } |
| 57127 | + if(!(v1 in seen[1][1])) { |
| 57128 | + seen[1][1][v1] = seen[1][0]++; |
| 57129 | + } |
| 57130 | + } |
| 57131 | + } |
| 57132 | + } |
| 57133 | + } |
| 57134 | + } |
| 57135 | + |
| 57136 | + list.sort(function(a, b) { |
| 57137 | + var ind0 = seen[0][1]; |
| 57138 | + var d = ind0[a[0]] - ind0[b[0]]; |
| 57139 | + if(d) return d; |
| 57140 | + |
| 57141 | + var ind1 = seen[1][1]; |
| 57142 | + return ind1[a[1]] - ind1[b[1]]; |
| 57143 | + }); |
| 57144 | + |
| 57145 | + for(i = 0; i < list.length; i++) { |
| 57146 | + setCategoryIndex(list[i]); |
| 57147 | + } |
| 57148 | + }; |
57122 | 57149 | }
|
57123 | 57150 |
|
57124 | 57151 | // find the range value at the specified (linear) fraction of the axis
|
@@ -61674,9 +61701,9 @@ plots.transition = function(gd, data, layout, traces, frameOpts, transitionOpts)
|
61674 | 61701 | };
|
61675 | 61702 |
|
61676 | 61703 | plots.doCalcdata = function(gd, traces) {
|
61677 |
| - var axList = axisIDs.list(gd), |
61678 |
| - fullData = gd._fullData, |
61679 |
| - fullLayout = gd._fullLayout; |
| 61704 | + var axList = axisIDs.list(gd); |
| 61705 | + var fullData = gd._fullData; |
| 61706 | + var fullLayout = gd._fullLayout; |
61680 | 61707 |
|
61681 | 61708 | var trace, _module, i, j;
|
61682 | 61709 |
|
@@ -61729,7 +61756,7 @@ plots.doCalcdata = function(gd, traces) {
|
61729 | 61756 | );
|
61730 | 61757 | }
|
61731 | 61758 |
|
61732 |
| - clearAxesCalc(axList); |
| 61759 | + setupAxisCategories(axList, fullData); |
61733 | 61760 |
|
61734 | 61761 | var hasCalcTransform = false;
|
61735 | 61762 |
|
@@ -61767,7 +61794,7 @@ plots.doCalcdata = function(gd, traces) {
|
61767 | 61794 | }
|
61768 | 61795 |
|
61769 | 61796 | // clear stuff that should recomputed in 'regular' loop
|
61770 |
| - if(hasCalcTransform) clearAxesCalc(axList); |
| 61797 | + if(hasCalcTransform) setupAxisCategories(axList, fullData); |
61771 | 61798 |
|
61772 | 61799 | function calci(i, isContainer) {
|
61773 | 61800 | trace = fullData[i];
|
@@ -61825,9 +61852,13 @@ plots.doCalcdata = function(gd, traces) {
|
61825 | 61852 | Registry.getComponentMethod('errorbars', 'calc')(gd);
|
61826 | 61853 | };
|
61827 | 61854 |
|
61828 |
| -function clearAxesCalc(axList) { |
| 61855 | +function setupAxisCategories(axList, fullData) { |
61829 | 61856 | for(var i = 0; i < axList.length; i++) {
|
61830 |
| - axList[i].clearCalc(); |
| 61857 | + var ax = axList[i]; |
| 61858 | + ax.clearCalc(); |
| 61859 | + if(ax.type === 'multicategory') { |
| 61860 | + ax.setupMultiCategory(fullData); |
| 61861 | + } |
61831 | 61862 | }
|
61832 | 61863 | }
|
61833 | 61864 |
|
|
0 commit comments