(ax, polarLayout)
| 90 | } |
| 91 | |
| 92 | function setConvertAngular(ax, polarLayout) { |
| 93 | var axType = ax.type; |
| 94 | |
| 95 | if(axType === 'linear') { |
| 96 | var _d2c = ax.d2c; |
| 97 | var _c2d = ax.c2d; |
| 98 | |
| 99 | ax.d2c = function(v, unit) { return toRadians(_d2c(v), unit); }; |
| 100 | ax.c2d = function(v, unit) { return _c2d(fromRadians(v, unit)); }; |
| 101 | } |
| 102 | |
| 103 | // override makeCalcdata to handle thetaunit and special theta0/dtheta logic |
| 104 | ax.makeCalcdata = function(trace, coord) { |
| 105 | var arrayIn = trace[coord]; |
| 106 | var len = trace._length; |
| 107 | var arrayOut, i; |
| 108 | |
| 109 | var _d2c = function(v) { return ax.d2c(v, trace.thetaunit); }; |
| 110 | |
| 111 | if(arrayIn) { |
| 112 | arrayOut = new Array(len); |
| 113 | for(i = 0; i < len; i++) { |
| 114 | arrayOut[i] = _d2c(arrayIn[i]); |
| 115 | } |
| 116 | } else { |
| 117 | var coord0 = coord + '0'; |
| 118 | var dcoord = 'd' + coord; |
| 119 | var v0 = (coord0 in trace) ? _d2c(trace[coord0]) : 0; |
| 120 | var dv = (trace[dcoord]) ? _d2c(trace[dcoord]) : (ax.period || 2 * Math.PI) / len; |
| 121 | |
| 122 | arrayOut = new Array(len); |
| 123 | for(i = 0; i < len; i++) { |
| 124 | arrayOut[i] = v0 + i * dv; |
| 125 | } |
| 126 | } |
| 127 | |
| 128 | return arrayOut; |
| 129 | }; |
| 130 | |
| 131 | // N.B. we mock the axis 'range' here |
| 132 | ax.setGeometry = function() { |
| 133 | var sector = polarLayout.sector; |
| 134 | var sectorInRad = sector.map(deg2rad); |
| 135 | var dir = {clockwise: -1, counterclockwise: 1}[ax.direction]; |
| 136 | var rot = deg2rad(ax.rotation); |
| 137 | |
| 138 | var rad2g = function(v) { return dir * v + rot; }; |
| 139 | var g2rad = function(v) { return (v - rot) / dir; }; |
| 140 | |
| 141 | var rad2c, c2rad; |
| 142 | var rad2t, t2rad; |
| 143 | |
| 144 | switch(axType) { |
| 145 | case 'linear': |
| 146 | c2rad = rad2c = Lib.identity; |
| 147 | t2rad = deg2rad; |
| 148 | rad2t = rad2deg; |
| 149 |
no test coverage detected
searching dependent graphs…