Skip to content

Commit e189c4d

Browse files
committed
display upper/lower fences even if equal to man/min
1 parent f726248 commit e189c4d

File tree

4 files changed

+76
-65
lines changed

4 files changed

+76
-65
lines changed

src/traces/box/hover.js

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,6 @@ function hoverOnBoxes(pointData, xval, yval, hovermode) {
156156
attrs = ['med'].concat(attrs);
157157

158158
var closeBoxData = [];
159-
var lf, uf, min, max;
160159
for(var i = 0; i < attrs.length; i++) {
161160
var attr = attrs[i];
162161

@@ -189,19 +188,6 @@ function hoverOnBoxes(pointData, xval, yval, hovermode) {
189188
pointData2.hovertemplate = false;
190189

191190
closeBoxData.push(pointData2);
192-
193-
if(attr === 'lf') lf = val;
194-
if(attr === 'uf') uf = val;
195-
if(attr === 'max') max = val;
196-
if(attr === 'min') min = val;
197-
}
198-
199-
// reduce labels if uf === max or lf === min
200-
if(uf === max) {
201-
closeBoxData = closeBoxData.filter(function(e) { return e.attr !== 'uf'; });
202-
}
203-
if(lf === min) {
204-
closeBoxData = closeBoxData.filter(function(e) { return e.attr !== 'lf'; });
205191
}
206192

207193
return closeBoxData;

test/jasmine/tests/box_test.js

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -743,8 +743,8 @@ describe('Test box hover:', function() {
743743
fig.layout.hovermode = 'x';
744744
return fig;
745745
},
746-
nums: ['median: 0.55', 'min: 0', 'q1: 0.3', 'q3: 0.6', 'max: 0.7'],
747-
name: ['radishes', '', '', '', ''],
746+
nums: ['median: 0.55', 'min: 0', 'lower fence: 0', 'q1: 0.3', 'q3: 0.6', 'upper fence: 0.7', 'max: 0.7'],
747+
name: ['radishes', '', '', '', '', '', ''],
748748
axis: 'day 1'
749749
}, {
750750
desc: 'with mean',
@@ -755,8 +755,8 @@ describe('Test box hover:', function() {
755755
fig.layout.hovermode = 'x';
756756
return fig;
757757
},
758-
nums: ['median: 0.55', 'min: 0', 'q1: 0.3', 'q3: 0.6', 'max: 0.7', 'mean: 0.45'],
759-
name: ['radishes', '', '', '', '', ''],
758+
nums: ['median: 0.55', 'min: 0', 'lower fence: 0', 'q1: 0.3', 'q3: 0.6', 'upper fence: 0.7', 'max: 0.7', 'mean: 0.45'],
759+
name: ['radishes', '', '', '', '', '', '', ''],
760760
axis: 'day 1'
761761
}, {
762762
desc: 'with sd',
@@ -768,10 +768,10 @@ describe('Test box hover:', function() {
768768
return fig;
769769
},
770770
nums: [
771-
'median: 0.55', 'min: 0', 'q1: 0.3', 'q3: 0.6', 'max: 0.7',
771+
'median: 0.55', 'min: 0', 'lower fence: 0', 'q1: 0.3', 'q3: 0.6', 'upper fence: 0.7', 'max: 0.7',
772772
'mean ± σ: 0.45 ± 0.2362908'
773773
],
774-
name: ['radishes', '', '', '', '', ''],
774+
name: ['radishes', '', '', '', '', '', '', ''],
775775
axis: 'day 1'
776776
}, {
777777
desc: 'with boxpoints fences',
@@ -797,15 +797,19 @@ describe('Test box hover:', function() {
797797
nums: [
798798
'median: 0.45', 'median: 0.45', 'median: 0.55',
799799
'min: 0', 'min: 0.1', 'min: 0.2',
800+
'lower fence: 0', 'lower fence: 0.1', 'lower fence: 0.2',
800801
'q1: 0.1', 'q1: 0.2', 'q1: 0.3',
801802
'q3: 0.6', 'q3: 0.6', 'q3: 0.6',
803+
'upper fence: 0.7', 'upper fence: 0.9', 'upper fence: 1',
802804
'max: 0.7', 'max: 0.9', 'max: 1'
803805
],
804806
name: [
805807
'carrots', 'kale', 'radishes',
806808
'', '', '',
807809
'', '', '',
808810
'', '', '',
811+
'', '', '',
812+
'', '', '',
809813
'', '', ''
810814
],
811815
axis: 'day 1'
@@ -847,8 +851,8 @@ describe('Test box hover:', function() {
847851
return fig;
848852
},
849853
pos: [215, 200],
850-
nums: ['median: 0.55', 'min: 0', 'q1: 0.3', 'q3: 0.6', 'max: 0.7'],
851-
name: ['radishes', '', '', '', ''],
854+
nums: ['median: 0.55', 'min: 0', 'q1: 0.3', 'q3: 0.6', 'max: 0.7', 'lower fence: 0', 'upper fence: 0.7'],
855+
name: ['radishes', '', '', '', '', '', ''],
852856
axis: 'day 1'
853857
}, {
854858
desc: 'hoveron boxes+points | hovermode x (box AND closest point)',
@@ -861,8 +865,8 @@ describe('Test box hover:', function() {
861865
fig.layout.hovermode = 'x';
862866
return fig;
863867
},
864-
nums: ['0.6', 'median: 0.55', 'min: 0', 'q1: 0.3', 'q3: 0.6', 'max: 0.7'],
865-
name: ['radishes', 'radishes', '', '', '', ''],
868+
nums: ['0.6', 'median: 0.55', 'min: 0', 'q1: 0.3', 'q3: 0.6', 'max: 0.7', 'lower fence: 0', 'upper fence: 0.7'],
869+
name: ['radishes', 'radishes', '', '', '', '', '', ''],
866870
axis: 'day 1'
867871
}, {
868872
desc: 'text items on hover',
@@ -920,9 +924,11 @@ describe('Test box hover:', function() {
920924
'q1: 0.5',
921925
'q3: 0.9',
922926
'max: 1',
927+
'lower fence: 0.3',
928+
'upper fence: 1',
923929
'mean ± σ: 0.6833333 ± 0.2409472',
924930
],
925-
name: ['carrots', '', '', '', '', ''],
931+
name: ['carrots', '', '', '', '', '', '', ''],
926932
axis: 'day 2'
927933
}, {
928934
desc: 'orientation:h | hovermode:closest',
@@ -934,9 +940,11 @@ describe('Test box hover:', function() {
934940
'(q1: 0.5, day 2)',
935941
'(q3: 0.9, day 2)',
936942
'(max: 1, day 2)',
943+
'(lower fence: 0.3, day 2)',
944+
'(upper fence: 1, day 2)',
937945
'(mean ± σ: 0.6833333 ± 0.2409472, day 2)'
938946
],
939-
name: ['carrots', '', '', '', '', ''],
947+
name: ['carrots', '', '', '', '', '', '', ''],
940948
}, {
941949
desc: 'on boxpoints with numeric positions | hovermode:closest',
942950
mock: {
@@ -981,8 +989,8 @@ describe('Test box hover:', function() {
981989
}
982990
},
983991
pos: [200, 200],
984-
nums: ['median: 2', 'q1: 1.5', 'q3: 2.5', 'max: 3', 'min: 1'],
985-
name: ['', '', '', '', ''],
992+
nums: ['median: 2', 'q1: 1.5', 'q3: 2.5', 'max: 3', 'min: 1', 'lower fence: 1', 'upper fence: 3'],
993+
name: ['', '', '', '', '', '', ''],
986994
axis: 'trace 0'
987995
}, {
988996
desc: 'q1/median/q3 signature on boxes',
@@ -1001,8 +1009,8 @@ describe('Test box hover:', function() {
10011009
}
10021010
},
10031011
pos: [200, 200],
1004-
nums: ['median: 2', 'min: 1', 'q1: 1', 'q3: 3', 'max: 3'],
1005-
name: ['', '', '', '', ''],
1012+
nums: ['median: 2', 'min: 1', 'q1: 1', 'q3: 3', 'max: 3', 'lower fence: 1', 'upper fence: 3'],
1013+
name: ['', '', '', '', '', '', ''],
10061014
axis: 'A'
10071015
}, {
10081016
desc: 'q1/median/q3 signature on points',

test/jasmine/tests/hover_label_test.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2833,21 +2833,25 @@ describe('hover on traces with (x|y)period positioning', function() {
28332833
.then(function() { _hover(385, 355); })
28342834
.then(function() {
28352835
assertHoverLabelContent({
2836-
name: ['', '', '', 'box (v)', ''],
2836+
name: ['', '', '', 'box (v)', '', '', ''],
28372837
nums: [
28382838
'(Jan 2001, min: 2)',
2839+
'(Jan 2001, lower fence: 2)',
28392840
'(Jan 2001, q1: 4)',
2840-
'(Jan 2001, q3: 8)',
28412841
'(Jan 2001, median: 6)',
2842-
'(Jan 2001, max: 10)',
2842+
'(Jan 2001, q3: 8)',
2843+
'(Jan 2001, upper fence: 10)',
2844+
'(Jan 2001, max: 10)'
28432845
]
28442846
});
28452847
})
28462848
.then(function() { _hover(475, 120); })
28472849
.then(function() {
28482850
assertHoverLabelContent({
2849-
name: ['', '', '', '', 'box (h)'],
2851+
name: ['', '', '', '', '', '', 'box (h)'],
28502852
nums: [
2853+
'(upper fence: 8, Jan 2004)',
2854+
'(lower fence: 0, Jan 2004)',
28512855
'(max: 8, Jan 2004)',
28522856
'(min: 0, Jan 2004)',
28532857
'(q1: 2, Jan 2004)',
@@ -4674,8 +4678,10 @@ describe('hovermode: (x|y)unified', function() {
46744678
assertLabel({title: '3', items: [
46754679
'trace 0 : 2',
46764680
'min: 1',
4681+
'lower fence: 1',
46774682
'q1: 1',
46784683
'q3: 1',
4684+
'upper fence: 1',
46794685
'max: 1',
46804686
'trace 1 : median: 1',
46814687
'trace 3 : 2',
@@ -6267,12 +6273,14 @@ describe('hover on traces with (x|y)hoverformat', function() {
62676273
{type: 'histogram', nums: '(02/01/2000, 1.00)'},
62686274
{type: 'bar', nums: '(02/01/2000, 1.00)'},
62696275
{type: 'box',
6270-
name: ['', '', '', '', ''],
6276+
name: ['', '', '', '', '', '', ''],
62716277
nums: [
62726278
'(02/01/2000, median: 1.00)',
62736279
'(02/01/2000, max: 1.00)',
6280+
'(02/01/2000, upper fence: 1.00)',
62746281
'(02/01/2000, q3: 1.00)',
62756282
'(02/01/2000, q1: 1.00)',
6283+
'(02/01/2000, lower fence: 1.00)',
62766284
'(02/01/2000, min: 1.00)'
62776285
]
62786286
},

test/jasmine/tests/violin_test.js

Lines changed: 39 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -366,10 +366,10 @@ describe('Test violin hover:', function() {
366366
return fig;
367367
},
368368
nums: [
369-
'median: 0.55', 'min: 0', 'q1: 0.3', 'q3: 0.6', 'max: 0.7',
369+
'median: 0.55', 'min: 0', 'lower fence: 0', 'q1: 0.3', 'q3: 0.6', 'upper fence: 0.7', 'max: 0.7',
370370
'y: 0.9266848, kde: 0.182'
371371
],
372-
name: ['radishes', '', '', '', '', ''],
372+
name: ['radishes', '', '', '', '', '', '', ''],
373373
axis: 'day 1'
374374
}, {
375375
desc: 'with mean',
@@ -381,33 +381,41 @@ describe('Test violin hover:', function() {
381381
return fig;
382382
},
383383
nums: [
384-
'median: 0.55', 'min: 0', 'q1: 0.3', 'q3: 0.6', 'max: 0.7', 'mean: 0.45',
384+
'median: 0.55', 'min: 0', 'lower fence: 0', 'q1: 0.3', 'q3: 0.6', 'upper fence: 0.7', 'max: 0.7', 'mean: 0.45',
385385
'y: 0.9266848, kde: 0.182'
386386
],
387-
name: ['radishes', '', '', '', '', '', ''],
387+
name: ['radishes', '', '', '', '', '', '', '', ''],
388388
axis: 'day 1'
389389
}, {
390390
desc: 'with overlaid violins',
391391
patch: function(fig) {
392392
fig.layout.violinmode = 'overlay';
393393
fig.layout.hovermode = 'x';
394+
fig.layout.height = 700;
395+
394396
return fig;
395397
},
396398
nums: [
397399
'median: 0.45', 'median: 0.45', 'median: 0.55',
398400
'min: 0', 'min: 0.1', 'min: 0.2',
401+
'lower fence: 0', 'lower fence: 0.1', 'lower fence: 0.2',
399402
'q1: 0.1', 'q1: 0.2', 'q1: 0.3',
400403
'q3: 0.6', 'q3: 0.6', 'q3: 0.6',
404+
'upper fence: 0.7', 'upper fence: 0.9', 'upper fence: 1',
401405
'max: 0.7', 'max: 0.9', 'max: 1',
402-
'y: 0.9266848, kde: 0.383', 'y: 0.9266848, kde: 0.182', 'y: 0.9266848, kde: 0.435'
406+
'y: 1.211363, kde: 0.119',
407+
'y: 1.211363, kde: 0.168'
403408
],
404409
name: [
405410
'carrots', 'kale', 'radishes',
406411
'', '', '',
407412
'', '', '',
408413
'', '', '',
409414
'', '', '',
410-
'', '', ''
415+
'', '', '',
416+
'', '', '',
417+
'',
418+
'',
411419
],
412420
axis: 'day 1'
413421
}, {
@@ -446,8 +454,8 @@ describe('Test violin hover:', function() {
446454
fig.layout.hovermode = 'x';
447455
return fig;
448456
},
449-
nums: ['median: 0.55', 'min: 0', 'q1: 0.3', 'q3: 0.6', 'max: 0.7'],
450-
name: ['radishes', '', '', '', ''],
457+
nums: ['median: 0.55', 'min: 0', 'lower fence: 0', 'q1: 0.3', 'q3: 0.6', 'upper fence: 0.7', 'max: 0.7'],
458+
name: ['radishes', '', '', '', '', '', ''],
451459
axis: 'day 1'
452460
}, {
453461
desc: 'hoveron violins+points | hovermode x (violin AND closest point)',
@@ -461,8 +469,8 @@ describe('Test violin hover:', function() {
461469
return fig;
462470
},
463471
pos: [207, 240],
464-
nums: ['0.7', 'median: 0.55', 'min: 0', 'q1: 0.3', 'q3: 0.6', 'max: 0.7'],
465-
name: ['radishes', 'radishes', '', '', '', ''],
472+
nums: ['0.7', 'median: 0.55', 'min: 0', 'lower fence: 0', 'q1: 0.3', 'q3: 0.6', 'upper fence: 0.7', 'max: 0.7'],
473+
name: ['radishes', 'radishes', '', '', '', '', '', ''],
466474
axis: 'day 1'
467475
}, {
468476
desc: 'text items on hover',
@@ -539,13 +547,18 @@ describe('Test violin hover:', function() {
539547
},
540548
nums: [
541549
'max: 50.81', 'min: 3.07', 'median: 18.24',
542-
'q1: 13.8575', 'q3: 24.975', 'upper fence: 39.42'
550+
'q1: 13.8575', 'q3: 24.975', 'upper fence: 39.42', 'lower fence: 3.07'
543551
],
544-
name: ['', '', '', '', '', ''],
552+
name: ['', '', '', '', '', '', ''],
545553
axis: 'Sat',
546554
hoverLabelPos: [
547-
[364, 270], [339, 270], [352, 270],
548-
[346, 270], [349, 270], [387, 270]
555+
[363, 270],
556+
[338, 270],
557+
[377, 270],
558+
[351, 270],
559+
[345, 270],
560+
[385, 270],
561+
[347, 270]
549562
]
550563
}, {
551564
desc: 'single horizontal violin',
@@ -555,10 +568,9 @@ describe('Test violin hover:', function() {
555568
return fig;
556569
},
557570
pos: [310, 160],
558-
nums: ['median: C', 'min: A', 'q1: B', 'q3: D', 'max: G', 'upper fence: D', 'x: C, kde: 1.005'],
559-
name: ['categories', '', '', '', '', '', ''],
571+
nums: ['median: C', 'min: A', 'q1: B', 'q3: D', 'max: G', 'upper fence: D', 'lower fence: A', 'x: C, kde: 1.005'],
572+
name: ['categories', '', '', '', '', '', '', ''],
560573
axis: 'categories',
561-
hOrder: [4, 5, 3, 6, 0, 2, 1],
562574
isRotated: true
563575
}, {
564576
desc: 'multiple horizontal violins',
@@ -572,10 +584,9 @@ describe('Test violin hover:', function() {
572584
fig.layout.hovermode = 'y';
573585
return fig;
574586
},
575-
nums: ['median: 0.4', 'min: 0.1', 'q1: 0.2', 'q3: 0.7', 'max: 0.9'],
576-
name: ['kale', '', '', '', ''],
587+
nums: ['median: 0.4', 'min: 0.1', 'lower fence: 0.1', 'q1: 0.2', 'q3: 0.7', 'upper fence: 0.9', 'max: 0.9'],
588+
name: ['kale', '', '', '', '', '', ''],
577589
axis: 'day 2',
578-
hOrder: [4, 3, 0, 2, 1],
579590
isRotated: true
580591
}, {
581592
desc: 'multiple horizontal violins (under hovermode:closest)',
@@ -590,11 +601,10 @@ describe('Test violin hover:', function() {
590601
},
591602
pos: [200, 175],
592603
nums: [
593-
'(median: 0.7, day 2)', '(min: 0.2, day 2)', '(q1: 0.5, day 2)',
594-
'(q3: 0.8, day 2)', '(max: 0.9, day 2)'
604+
'(median: 0.7, day 2)', '(min: 0.2, day 2)', '(lower fence: 0.2, day 2)', '(q1: 0.5, day 2)',
605+
'(q3: 0.8, day 2)', '(upper fence: 0.9, day 2)', '(max: 0.9, day 2)'
595606
],
596-
name: ['radishes', '', '', '', ''],
597-
hOrder: [4, 3, 0, 2, 1],
607+
name: ['radishes', '', '', '', '', '', ''],
598608
isRotated: true
599609
}, {
600610
desc: 'hovering over single pt on horizontal violin should not rotate labels',
@@ -623,10 +633,9 @@ describe('Test violin hover:', function() {
623633
return fig;
624634
},
625635
pos: [430, 130],
626-
nums: ['max: 0.9', 'min: 0.1', 'q1: 0.2', 'q3: 0.7', 'median: 0.4'],
627-
name: ['', '', '', '', 'kale'],
636+
nums: ['upper fence: 0.9', 'lower fence: 0.1', 'max: 0.9', 'min: 0.1', 'q1: 0.2', 'q3: 0.7', 'median: 0.4'],
637+
name: ['', '', '', '', '', '', 'kale'],
628638
axis: '2018 - day 2',
629-
hOrder: [0, 3, 4, 2, 1]
630639
}, {
631640
desc: 'orientation:h | hovermode:closest',
632641
mock: require('@mocks/violin_grouped_horz-multicategory.json'),
@@ -639,12 +648,12 @@ describe('Test violin hover:', function() {
639648
},
640649
pos: [430, 130],
641650
nums: [
651+
'(upper fence: 0.9, 2018 - day 2)', '(lower fence: 0.1, 2018 - day 2)',
642652
'(max: 0.9, 2018 - day 2)', '(min: 0.1, 2018 - day 2)',
643653
'(q1: 0.2, 2018 - day 2)', '(q3: 0.7, 2018 - day 2)',
644654
'(median: 0.4, 2018 - day 2)'
645655
],
646-
name: ['', '', '', '', 'kale'],
647-
hOrder: [0, 3, 4, 2, 1]
656+
name: ['', '', '', '', '', '', 'kale']
648657
}, {
649658
desc: 'on points with numeric positions | orientation:h | hovermode:closest',
650659
mock: {
@@ -752,7 +761,7 @@ describe('Test violin hover:', function() {
752761

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

755-
expect(actual.length).toBe(8, '# of value hover labels');
764+
expect(actual.length).toBe(9, '# of value hover labels');
756765

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

0 commit comments

Comments
 (0)