-for( var i in data.x_data ) {
- var x = data.x_data[i];
- if ( data.numeric ) x = Math.ceil( ( x - data.min_x ) / data.x_range * data.width );
- var y = Math.ceil( ( data.y_data[i] - data.min_y ) / data.y_range * data.height );
+var elements = data.x.data.length;
+var step = elements / data.width;
+console.debug( elements, step );
+if ( step < 1 ) step = 1;
+var i_float = 0;
+while( i_float < elements ) {
+ var i = i_float.toFixed();
+ var x = data.x.data[i];
+ if ( data.numeric ) x = Math.ceil( ( x - data.x.min ) / data.x.range * data.width );
+ var y = Math.ceil( ( data.y.data[i] - data.y.min ) / data.y.range * data.height );