@@ -156,6 +156,32 @@ proto.updateLayers = function(fullLayout, polarLayout) {
156
156
join . order ( ) ;
157
157
} ;
158
158
159
+ /* Polar subplots juggle with 6 'axis objects' (!), these are:
160
+ *
161
+ * - polarLayout.radialaxis (aka radialLayout in this file):
162
+ * - polarLayout.angularaxis (aka angularLayout in this file):
163
+ * used for data -> calcdata conversions (aka d2c) during the calc step
164
+ *
165
+ * - this.radialAxis
166
+ * extends polarLayout.radialaxis, adds mocked 'domain' and
167
+ * few other keys in order to reuse Cartesian doAutoRange and doTicksSingle,
168
+ * used for calcdata -> geometric conversions (aka c2g) during the plot step
169
+ * + setGeometry setups ax.c2g for given ax.range
170
+ * + setScale setups ax._m,ax._b for given ax.range
171
+ *
172
+ * - this.angularAxis
173
+ * extends polarLayout.angularaxis, adds mocked 'range' and 'domain' and
174
+ * a few other keys in order to reuse Cartesian doTicksSingle,
175
+ * used for calcdata -> geometric conversions (aka c2g) during the plot step
176
+ * + setGeometry setups ax.c2g given ax.rotation, ax.direction & ax._categories,
177
+ * and mocks ax.range
178
+ * + setScale setups ax._m,ax._b with that mocked ax.range
179
+ *
180
+ * - this.xaxis
181
+ * - this.yaxis
182
+ * setup so that polar traces can reuse plot methods of Cartesian traces
183
+ * which mostly rely on 2pixel methods (e.g ax.c2p)
184
+ */
159
185
proto . updateLayout = function ( fullLayout , polarLayout ) {
160
186
var _this = this ;
161
187
var layers = _this . layers ;
0 commit comments