Skip to content

Commit ce5e5f9

Browse files
committed
add 'attr' key to box/hover pointData
- this makes all box/hover labels render even when their x/y positions overlap perfectly.
1 parent 1634ec8 commit ce5e5f9

File tree

3 files changed

+5
-6
lines changed

3 files changed

+5
-6
lines changed

src/traces/box/hover.js

+1
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ function hoverOnBoxes(pointData, xval, yval, hovermode) {
171171
var valPx = vAxis.c2p(val, true);
172172
var pointData2 = Lib.extendFlat({}, pointData);
173173

174+
pointData2.attr = attr;
174175
pointData2[vLetter + '0'] = pointData2[vLetter + '1'] = valPx;
175176
pointData2[vLetter + 'LabelVal'] = val;
176177
pointData2[vLetter + 'Label'] = (t.labels ? t.labels[attr] + ' ' : '') + Axes.hoverLabelText(vAxis, val);

test/jasmine/tests/box_test.js

+3-5
Original file line numberDiff line numberDiff line change
@@ -438,23 +438,21 @@ describe('Test box hover:', function() {
438438
nums: '0.6',
439439
name: 'pt #0'
440440
}, {
441-
desc: 'when zoomed in, cropping out labels',
441+
desc: 'when zoomed in, within q1-q3 making min/q1 and max/q3 overlap',
442442
mock: {
443443
data: [{
444444
type: 'box',
445445
y: [1, 2, 2, 3]
446446
}],
447447
layout: {
448-
// cropping out q1 and max w/o failing during hoverAvoidOverlap
449-
// https://github.com/plotly/plotly.js/issues/3962
450448
yaxis: {range: [1.6, 2.4]},
451449
width: 400,
452450
height: 400
453451
}
454452
},
455453
pos: [200, 200],
456-
nums: ['median: 2', 'q1: 1.5', 'q3: 2.5'],
457-
name: ['', '', ''],
454+
nums: ['median: 2', 'q1: 1.5', 'q3: 2.5', 'max: 3', 'min: 1'],
455+
name: ['', '', '', '', ''],
458456
axis: 'trace 0'
459457
}].forEach(function(specs) {
460458
it('should generate correct hover labels ' + specs.desc, function(done) {

test/jasmine/tests/violin_test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -745,7 +745,7 @@ describe('Test violin hover:', function() {
745745

746746
actual = actual.sort(function(a, b) { return a[1].top - b[1].top; });
747747

748-
expect(actual.length).toBe(7, '# of value hover labels');
748+
expect(actual.length).toBe(8, '# of value hover labels');
749749

750750
for(var i = 0; i < actual.length - 1; i++) {
751751
var a = actual[i];

0 commit comments

Comments
 (0)