Regarding the base vs ortho naming.
Take a look at the following table.
Code:
+-------------------+-------------+------------+
| AXIS TYPE / chart orientation |
+-------------------+-------------+------------+
| axis orientation / [vertical] | horizontal |
+===================+=============+============+
| x / base | ortho |
+-------------------+-------------+------------+
| y / ortho | base |
+-------------------+-------------+------------+
The axis orientation, "x" or "y", is synonymous with horizontal or vertical, respectively.
When the chart orientation is vertical, the default, "base" refers to the same axis as "x" and "ortho" to the same as "y".
If we rotate the chart, setting orientation to horizontal, then "base" will refer to the same axis as "y" and "ortho" to the same as "x".
The axes "base" and "ortho" always showing the "domain" and the "counter-domain".
On a bar chart, for example, "base" always represents the values of the "category" visual role (for certain fixed series, multi-chart, ...) while "ortho" always represents the values of the "value" visual role.
Using one or the other is a matter of deciding whether the axis option to be specified should be anchored to the visual role concept or to the orientation concept.
For example, a rule that says that: when an axis is vertically oriented, the space between ticks should be at least 1.1 em, should be coded like:
Code:
yAxisLabelSpacingMin: 1.1
However, for a rule that specifies the formatting of the tick values, for the "value" dimension, should instead be coded like:
Code:
orthoAxisTickFormatter: function(v, precision) { ... }
In either case, if the chart orientation is changed, all extension points will still refer to the desired axes.
Most of the time we want to extend axes based on the axis type concept (base/ortho). Rarely, we mean "whatever axis that is aligned horizontally".