@@ -12,7 +12,6 @@ var Symbols = require('../drawing/symbol_defs');
1212var Drawing = require ( '../drawing' ) ;
1313
1414var helpers = require ( './helpers' ) ;
15- var dataProcessors = require ( './data_processors' ) ;
1615var svgNS = require ( '../../constants/xmlns_namespaces' ) . svg ;
1716
1817module . exports = function rangePlot ( gd , w , h ) {
@@ -42,10 +41,6 @@ module.exports = function rangePlot(gd, w, h) {
4241 rangePlot . appendChild ( clipDefs ) ;
4342
4443
45- var processX = dataProcessors [ gd . _fullLayout . xaxis . type || 'category' ] ,
46- processY = dataProcessors [ gd . _fullLayout . yaxis . type || 'category' ] ;
47-
48-
4944 // for now, only scatter traces are supported
5045 var allowedTypes = [ 'scatter' ] ;
5146
@@ -59,12 +54,13 @@ module.exports = function rangePlot(gd, w, h) {
5954 continue ;
6055 }
6156
62- for ( var k = 0 ; k < trace . x . length ; k ++ ) {
63- var x = processX ( trace . x [ k ] , k ) ,
64- y = processY ( trace . y [ k ] , k ) ;
57+ var x = makeLinearData ( trace , xaxis ) ,
58+ y = makeLinearData ( trace , yaxis ) ;
6559
66- var posX = w * ( x - minX ) / ( maxX - minX ) ,
67- posY = h * ( 1 - ( y - minY ) / ( maxY - minY ) ) ;
60+ for ( var k = 0 ; k < x . length ; k ++ ) {
61+
62+ var posX = w * ( x [ k ] - minX ) / ( maxX - minX ) ,
63+ posY = h * ( 1 - ( y [ k ] - minY ) / ( maxY - minY ) ) ;
6864
6965 pointPairs . push ( [ posX , posY ] ) ;
7066 }
@@ -77,6 +73,16 @@ module.exports = function rangePlot(gd, w, h) {
7773 return rangePlot ;
7874} ;
7975
76+ function makeLinearData ( trace , axis ) {
77+ var data = axis . makeCalcdata ( trace || [ ] , axis . _id [ 0 ] ) ;
78+
79+ for ( var i = 0 ; i < data . length ; i ++ ) {
80+ data [ i ] = axis . c2l ( data [ i ] ) ;
81+ }
82+
83+ return data ;
84+ }
85+
8086
8187function makeScatter ( trace , pointPairs , w , h ) {
8288
0 commit comments