MCPcopy Index your code
hub / github.com/plotly/plotly.js / setConvertAngular

Function setConvertAngular

src/plots/polar/set_convert.js:92–177  ·  view source on GitHub ↗
(ax, polarLayout)

Source from the content-addressed store, hash-verified

90}
91
92function 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

Callers 1

set_convert.jsFile · 0.85

Calls 6

toRadiansFunction · 0.85
_d2cFunction · 0.85
fromRadiansFunction · 0.85
deg2radFunction · 0.85
rad2gFunction · 0.85
g2radFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…