@@ -192,33 +192,28 @@ module.exports = function setConvert(ax, fullLayout) {
192192 } ;
193193
194194 if ( ax . rangebreaks ) {
195+ var isY = axLetter === 'y' ;
196+
195197 l2p = function ( v ) {
196198 if ( ! isNumeric ( v ) ) return BADNUM ;
197199 var len = ax . _rangebreaks . length ;
198200 if ( ! len ) return _l2p ( v , ax . _m , ax . _b ) ;
199201
200- var isY = axLetter === 'y' ;
201- var pos = v ;
202-
203202 var flip = isY ;
204203 if ( ax . range [ 0 ] > ax . range [ 1 ] ) flip = ! flip ;
205204 var signAx = flip ? - 1 : 1 ;
205+ var pos = signAx * v ;
206206
207- var first = 0 ;
208- var last = len - 1 ;
209- var q = first ;
210- for ( var i = first ; i <= last ; i += 1 ) {
211- var nextI = i + 1 ;
212- var brk = ax . _rangebreaks [ i ] ;
213-
214- var min = brk . min ;
215- var max = brk . max ;
207+ var q = 0 ;
208+ for ( var i = 0 ; i < len ; i ++ ) {
209+ var min = signAx * ax . _rangebreaks [ i ] . min ;
210+ var max = signAx * ax . _rangebreaks [ i ] . max ;
216211
217- if ( signAx * pos < signAx * min ) break ;
218- if ( signAx * pos > signAx * max ) q = nextI ;
212+ if ( pos < min ) break ;
213+ if ( pos > max ) q = i + 1 ;
219214 else {
220215 // when falls into break, pick 'closest' offset
221- q = signAx * pos > signAx * ( min + max ) / 2 ? nextI : i ;
216+ q = pos < ( min + max ) / 2 ? i : i + 1 ;
222217 break ;
223218 }
224219 }
@@ -232,18 +227,10 @@ module.exports = function setConvert(ax, fullLayout) {
232227 var len = ax . _rangebreaks . length ;
233228 if ( ! len ) return _p2l ( px , ax . _m , ax . _b ) ;
234229
235- var isY = axLetter === 'y' ;
236- var pos = px ;
237-
238- var first = 0 ;
239- var last = len - 1 ;
240- var q = first ;
241- for ( var i = first ; i <= last ; i += 1 ) {
242- var nextI = i + 1 ;
243- var brk = ax . _rangebreaks [ i ] ;
244-
245- if ( pos < brk . pmin ) break ;
246- if ( pos > brk . pmax ) q = nextI ;
230+ var q = 0 ;
231+ for ( var i = 0 ; i < len ; i ++ ) {
232+ if ( px < ax . _rangebreaks [ i ] . pmin ) break ;
233+ if ( px > ax . _rangebreaks [ i ] . pmax ) q = i + 1 ;
247234 }
248235 var b2 = ax . _B [ q ] ;
249236 return _p2l ( px , ( isY ? - 1 : 1 ) * ax . _m2 , b2 ) ;
0 commit comments