@@ -10,24 +10,24 @@ var calcSelection = require('../scatter/calc_selection');
1010module . exports = function calc ( gd , trace ) {
1111 var xa = Axes . getFromId ( gd , trace . xaxis || 'x' ) ;
1212 var ya = Axes . getFromId ( gd , trace . yaxis || 'y' ) ;
13- var size , pos , origPos ;
13+ var size , pos , origPos , pObj , hasPeriod ;
1414
1515 var sizeOpts = {
1616 msUTC : ! ! ( trace . base || trace . base === 0 )
1717 } ;
1818
19- var hasPeriod ;
2019 if ( trace . orientation === 'h' ) {
2120 size = xa . makeCalcdata ( trace , 'x' , sizeOpts ) ;
2221 origPos = ya . makeCalcdata ( trace , 'y' ) ;
23- pos = alignPeriod ( trace , ya , 'y' , origPos ) ;
22+ pObj = alignPeriod ( trace , ya , 'y' , origPos ) ;
2423 hasPeriod = ! ! trace . yperiodalignment ;
2524 } else {
2625 size = ya . makeCalcdata ( trace , 'y' , sizeOpts ) ;
2726 origPos = xa . makeCalcdata ( trace , 'x' ) ;
28- pos = alignPeriod ( trace , xa , 'x' , origPos ) ;
27+ pObj = alignPeriod ( trace , xa , 'x' , origPos ) ;
2928 hasPeriod = ! ! trace . xperiodalignment ;
3029 }
30+ pos = pObj . vals ;
3131
3232 // create the "calculated data" to plot
3333 var serieslen = Math . min ( pos . length , size . length ) ;
@@ -39,6 +39,8 @@ module.exports = function calc(gd, trace) {
3939
4040 if ( hasPeriod ) {
4141 cd [ i ] . orig_p = origPos [ i ] ; // used by hover
42+ cd [ i ] . pEnd = pObj . ends [ i ] ;
43+ cd [ i ] . pStart = pObj . starts [ i ] ;
4244 }
4345
4446 if ( trace . ids ) {
0 commit comments