@@ -13,7 +13,6 @@ var isNumeric = require('fast-isnumeric');
1313var Lib = require ( '../../lib' ) ;
1414var Registry = require ( '../../registry' ) ;
1515var Axes = require ( '../../plots/cartesian/axes' ) ;
16- var alignPeriod = require ( '../../plots/cartesian/align_period' ) ;
1716
1817var arraysToCalcdata = require ( '../bar/arrays_to_calcdata' ) ;
1918var binFunctions = require ( './bin_functions' ) ;
@@ -24,19 +23,16 @@ var getBinSpanLabelRound = require('./bin_label_vals');
2423function calc ( gd , trace ) {
2524 var pos = [ ] ;
2625 var size = [ ] ;
27- var isHorizontal = trace . orientation === 'h' ;
28- var pa = Axes . getFromId ( gd , isHorizontal ? trace . yaxis : trace . xaxis ) ;
29- var mainData = isHorizontal ? 'y' : 'x' ;
26+ var pa = Axes . getFromId ( gd , trace . orientation === 'h' ? trace . yaxis : trace . xaxis ) ;
27+ var mainData = trace . orientation === 'h' ? 'y' : 'x' ;
3028 var counterData = { x : 'y' , y : 'x' } [ mainData ] ;
3129 var calendar = trace [ mainData + 'calendar' ] ;
32- var hasPeriod = trace [ mainData + 'periodalignment' ] ;
3330 var cumulativeSpec = trace . cumulative ;
3431 var i ;
3532
3633 var binsAndPos = calcAllAutoBins ( gd , trace , pa , mainData ) ;
3734 var binSpec = binsAndPos [ 0 ] ;
3835 var pos0 = binsAndPos [ 1 ] ;
39- var origPos = binsAndPos [ 2 ] ;
4036
4137 var nonuniformBins = typeof binSpec . size === 'string' ;
4238 var binEdges = [ ] ;
@@ -189,21 +185,13 @@ function calc(gd, trace) {
189185 b : 0
190186 } ;
191187
192- if ( hasPeriod ) {
193- cdi . orig_p = origPos [ i ] ;
194- }
195-
196188 // setup hover and event data fields,
197189 // N.B. pts and "hover" positions ph0/ph1 don't seem to make much sense
198190 // for cumulative distributions
199191 if ( ! cumulativeSpec . enabled ) {
200192 cdi . pts = inputPoints [ i ] ;
201193 if ( uniqueValsPerBin ) {
202- if ( hasPeriod ) {
203- cdi . ph0 = cdi . ph1 = cdi . pts . length ? origPos [ cdi . pts [ 0 ] ] : cdi . orig_p ;
204- } else {
205- cdi . ph0 = cdi . ph1 = cdi . pts . length ? pos0 [ cdi . pts [ 0 ] ] : cdi . p ;
206- }
194+ cdi . ph0 = cdi . ph1 = ( inputPoints [ i ] . length ) ? pos0 [ inputPoints [ i ] [ 0 ] ] : pos [ i ] ;
207195 } else {
208196 // Defer evaluation of ph(0|1) in crossTraceCalc
209197 trace . _computePh = true ;
@@ -245,7 +233,7 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) {
245233 var groupName = trace [ '_' + mainData + 'bingroup' ] ;
246234 var binOpts = fullLayout . _histogramBinOpts [ groupName ] ;
247235 var isOverlay = fullLayout . barmode === 'overlay' ;
248- var i , traces , tracei , calendar , pos0 , origPos , autoVals , cumulativeSpec ;
236+ var i , traces , tracei , calendar , pos0 , autoVals , cumulativeSpec ;
249237
250238 var r2c = function ( v ) { return pa . r2c ( v , 0 , calendar ) ; } ;
251239 var c2r = function ( v ) { return pa . c2r ( v , 0 , calendar ) ; } ;
@@ -284,9 +272,7 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) {
284272
285273 if ( tracei . visible ) {
286274 var mainDatai = binOpts . dirs [ i ] ;
287- origPos = pa . makeCalcdata ( tracei , mainDatai ) ;
288- pos0 = alignPeriod ( trace , pa , mainData , origPos ) ;
289- tracei [ '_' + mainDatai + 'pos0' ] = pos0 ;
275+ pos0 = tracei [ '_' + mainDatai + 'pos0' ] = pa . makeCalcdata ( tracei , mainDatai ) ;
290276
291277 allPos = Lib . concat ( allPos , pos0 ) ;
292278 delete tracei [ '_' + mainData + 'autoBinFinished' ] ;
@@ -334,7 +320,7 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) {
334320 // Several single-valued histograms! Stop infinite recursion,
335321 // just return an extra flag that tells handleSingleValueOverlays
336322 // to sort out this trace too
337- if ( _overlayEdgeCase ) return [ newBinSpec , pos0 , origPos , true ] ;
323+ if ( _overlayEdgeCase ) return [ newBinSpec , pos0 , true ] ;
338324
339325 newBinSpec = handleSingleValueOverlays ( gd , trace , pa , mainData , binAttr ) ;
340326 }
@@ -421,7 +407,7 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) {
421407 delete trace [ autoBinAttr ] ;
422408 }
423409
424- return [ traceBinOptsCalc , pos0 , origPos , false ] ;
410+ return [ traceBinOptsCalc , pos0 ] ;
425411}
426412
427413/*
@@ -455,7 +441,7 @@ function handleSingleValueOverlays(gd, trace, pa, mainData, binAttr) {
455441 } else {
456442 var resulti = calcAllAutoBins ( gd , tracei , pa , mainData , true ) ;
457443 var binSpeci = resulti [ 0 ] ;
458- var isSingleValued = resulti [ 3 ] ;
444+ var isSingleValued = resulti [ 2 ] ;
459445
460446 // so we can use this result when we get to tracei in the normal
461447 // course of events, mark it as done and put _pos0 back
0 commit comments