Skip to content

Commit e03e17e

Browse files
committed
hover text fix
1 parent 76ef318 commit e03e17e

File tree

2 files changed

+22
-20
lines changed

2 files changed

+22
-20
lines changed

src/plots/cartesian/axes.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1829,10 +1829,10 @@ function formatMultiCategory(ax, out, hover) {
18291829
var hoverText = '';
18301830
cats.forEach(function(text, index) {
18311831
text = String(text);
1832-
if(index < texts.length) {
1832+
if(index < texts.length - 1) {
18331833
hoverText = hoverText + ' ' + text + ' - ';
18341834
} else {
1835-
return hoverText + ' ' + text;
1835+
hoverText = hoverText + ' ' + text;
18361836
}
18371837
});
18381838

src/plots/cartesian/set_convert.js

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -384,35 +384,37 @@ module.exports = function setConvert(ax, fullLayout) {
384384
for(var k = 0; k < fullData[traceIndices[0]][axLetter].length; k++) {
385385
cols.push('col' + k.toString());
386386
}
387+
// Don't think that the trace should be drawn at all if the lengths don't match. Removing the arrays length check. It is better to fail loudly than silently.
387388

388389
for(i = 0; i < traceIndices.length; i++) {
389390
var trace = fullData[traceIndices[i]];
390391

391392
if(axLetter in trace) {
392393
var arrayIn = trace[axLetter];
394+
if(isArrayOrTypedArray(arrayIn[0])) {
395+
var arrays = arrayIn.map(function(x) {
396+
return x;
397+
});
398+
arrays.push(trace.y);
393399

394-
var arrays = arrayIn.map(function(x) {
395-
return x;
396-
});
397-
arrays.push(trace.y);
400+
var objList = sortLib.matrixToObjectList(arrays, cols);
398401

399-
var objList = sortLib.matrixToObjectList(arrays, cols);
402+
Array.prototype.push.apply(fullObjectList, objList);
400403

401-
Array.prototype.push.apply(fullObjectList, objList);
404+
// convert the trace data from list to object and sort (backwards, stable sort)
405+
var sortedObjectList = sortLib.sortObjectList(cols, objList);
406+
var matrix = sortLib.objectListToList(sortedObjectList);
407+
var sortedMatrix = sortLib.sortedMatrix(matrix);
402408

403-
// convert the trace data from list to object and sort (backwards, stable sort)
404-
var sortedObjectList = sortLib.sortObjectList(cols, objList);
405-
var matrix = sortLib.objectListToList(sortedObjectList);
406-
var sortedMatrix = sortLib.sortedMatrix(matrix);
409+
xs = sortedMatrix[0].slice();
410+
var y = sortedMatrix[1];
407411

408-
xs = sortedMatrix[0].slice();
409-
var y = sortedMatrix[1];
410-
411-
// Could/should set sorted y axis values for each trace as the sorted values are already available.
412-
// Need write access to gd._fullData, bad?
413-
var transposedXs = sortLib.transpose(xs);
414-
gd._fullData[i].x = transposedXs;
415-
gd._fullData[i].y = y;
412+
// Could/should set sorted y axis values for each trace as the sorted values are already available.
413+
// Need write access to gd._fullData, bad? Should probably be done right at newPlot, or on setting gd._fullData
414+
var transposedXs = sortLib.transpose(xs);
415+
gd._fullData[i].x = transposedXs;
416+
gd._fullData[i].y = y;
417+
}
416418
}
417419
}
418420
ax.levelNr = xs[0].length;

0 commit comments

Comments
 (0)