@@ -53,7 +53,7 @@ function calc(container, trace) {
5353 var x = xaxis . type === 'linear' ? trace . x : xaxis . makeCalcdata ( trace , 'x' ) ;
5454 var y = yaxis . type === 'linear' ? trace . y : yaxis . makeCalcdata ( trace , 'y' ) ;
5555
56- var count = ( x || y ) . length , i , l , xx , yy ;
56+ var count = trace . _length , i , l , xx , yy ;
5757
5858 if ( ! x ) {
5959 x = Array ( count ) ;
@@ -71,28 +71,26 @@ function calc(container, trace) {
7171 // get log converted positions
7272 var rawx , rawy ;
7373 if ( xaxis . type === 'log' ) {
74- rawx = Array ( x . length ) ;
75- for ( i = 0 , l = x . length ; i < l ; i ++ ) {
76- rawx [ i ] = x [ i ] ;
74+ rawx = x . slice ( 0 , count ) ;
75+ for ( i = 0 ; i < count ; i ++ ) {
7776 x [ i ] = xaxis . d2l ( x [ i ] ) ;
7877 }
7978 }
8079 else {
8180 rawx = x ;
82- for ( i = 0 , l = x . length ; i < l ; i ++ ) {
81+ for ( i = 0 ; i < count ; i ++ ) {
8382 x [ i ] = parseFloat ( x [ i ] ) ;
8483 }
8584 }
8685 if ( yaxis . type === 'log' ) {
87- rawy = Array ( y . length ) ;
88- for ( i = 0 , l = y . length ; i < l ; i ++ ) {
89- rawy [ i ] = y [ i ] ;
86+ rawy = y . slice ( 0 , count ) ;
87+ for ( i = 0 ; i < count ; i ++ ) {
9088 y [ i ] = yaxis . d2l ( y [ i ] ) ;
9189 }
9290 }
9391 else {
9492 rawy = y ;
95- for ( i = 0 , l = y . length ; i < l ; i ++ ) {
93+ for ( i = 0 ; i < count ; i ++ ) {
9694 y [ i ] = parseFloat ( y [ i ] ) ;
9795 }
9896 }
0 commit comments