@@ -284,12 +284,12 @@ function setGroupPositionsInStackOrRelativeMode(gd, pa, sa, calcTraces, opts) {
284
284
// flag the outmost bar (for text display purposes)
285
285
for ( var i = 0 ; i < calcTraces . length ; i ++ ) {
286
286
var calcTrace = calcTraces [ i ] ;
287
-
287
+ var offsetIndex = calcTrace [ 0 ] . t . offsetindex ;
288
288
for ( var j = 0 ; j < calcTrace . length ; j ++ ) {
289
289
var bar = calcTrace [ j ] ;
290
290
291
291
if ( bar . s !== BADNUM ) {
292
- var isOutmostBar = ( ( bar . b + bar . s ) === sieve . get ( bar . p , bar . s ) ) ;
292
+ var isOutmostBar = ( ( bar . b + bar . s ) === sieve . get ( bar . p , offsetIndex , bar . s ) ) ;
293
293
if ( isOutmostBar ) bar . _outmost = true ;
294
294
}
295
295
}
@@ -583,7 +583,7 @@ function stackBars(sa, sieve, opts) {
583
583
584
584
if ( bar . s !== BADNUM ) {
585
585
// create base of funnels
586
- sieve . put ( bar . p + offsetIndex , - 0.5 * bar . s ) ;
586
+ sieve . put ( bar . p , offsetIndex , - 0.5 * bar . s ) ;
587
587
}
588
588
}
589
589
}
@@ -611,7 +611,7 @@ function stackBars(sa, sieve, opts) {
611
611
value = bar . s + bar . b ;
612
612
}
613
613
614
- var base = sieve . put ( bar . p + offsetIndex , value ) ;
614
+ var base = sieve . put ( bar . p , offsetIndex , value ) ;
615
615
var top = base + value ;
616
616
617
617
// store the bar base and top in each calcdata item
@@ -644,12 +644,12 @@ function sieveBars(sieve) {
644
644
645
645
for ( var i = 0 ; i < calcTraces . length ; i ++ ) {
646
646
var calcTrace = calcTraces [ i ] ;
647
-
647
+ var offsetIndex = calcTrace [ 0 ] . t . offsetindex ;
648
648
for ( var j = 0 ; j < calcTrace . length ; j ++ ) {
649
649
var bar = calcTrace [ j ] ;
650
650
651
651
if ( bar . s !== BADNUM ) {
652
- sieve . put ( bar . p , bar . b + bar . s ) ;
652
+ sieve . put ( bar . p , offsetIndex , bar . b + bar . s ) ;
653
653
}
654
654
}
655
655
}
@@ -661,6 +661,7 @@ function unhideBarsWithinTrace(sieve, pa) {
661
661
for ( var i = 0 ; i < calcTraces . length ; i ++ ) {
662
662
var calcTrace = calcTraces [ i ] ;
663
663
var fullTrace = calcTrace [ 0 ] . trace ;
664
+ var offsetIndex = calcTrace [ 0 ] . t . offsetindex ;
664
665
665
666
if ( fullTrace . base === undefined ) {
666
667
var inTraceSieve = new Sieve ( [ calcTrace ] , {
@@ -674,7 +675,7 @@ function unhideBarsWithinTrace(sieve, pa) {
674
675
675
676
if ( bar . p !== BADNUM ) {
676
677
// stack current bar and get previous sum
677
- var base = inTraceSieve . put ( bar . p , bar . b + bar . s ) ;
678
+ var base = inTraceSieve . put ( bar . p , offsetIndex , bar . b + bar . s ) ;
678
679
679
680
// if previous sum if non-zero, this means:
680
681
// multiple bars have same starting point are potentially hidden,
@@ -707,6 +708,7 @@ function normalizeBars(sa, sieve, opts) {
707
708
708
709
for ( var i = 0 ; i < calcTraces . length ; i ++ ) {
709
710
var calcTrace = calcTraces [ i ] ;
711
+ var offsetIndex = calcTrace [ 0 ] . t . offsetindex ;
710
712
var fullTrace = calcTrace [ 0 ] . trace ;
711
713
var pts = [ ] ;
712
714
var tozero = false ;
@@ -716,7 +718,7 @@ function normalizeBars(sa, sieve, opts) {
716
718
var bar = calcTrace [ j ] ;
717
719
718
720
if ( bar . s !== BADNUM ) {
719
- var scale = Math . abs ( sTop / sieve . get ( bar . p , bar . s ) ) ;
721
+ var scale = Math . abs ( sTop / sieve . get ( bar . p , offsetIndex , bar . s ) ) ;
720
722
bar . b *= scale ;
721
723
bar . s *= scale ;
722
724
0 commit comments