Remove direct manipulation of HostAxes.parasites by end users.
Directly manipulating a list of child axes is strange compared to the standard Matplotlib axes creation API, so don't use that in mpl_toolkits parasite axes either. Instead, use the already existing get_aux_axes API. However, that API needs to be improved to support arbitrary kwargs that get forwarded to the Axes constructor, which is easy to do.
Also replace the default axes_class in that API by _base_axes_class, which is consistent with HostAxes.twin()/twinx()/twiny(), and also corresponds to the practical use cases demonstrated in the examples: if the host axes class is from axisartist, the parasite axes class is also from axisartist (see examples/axisartist/demo_parasite_axes.py); using another parasite axes class won't work.
This is preliminary work for making parasite_axes a thin wrapper around standard child_axes.
PR Summary
PR Checklist
Tests and Styling
- [ ] Has pytest style unit tests (and
pytestpasses). - [ ] Is Flake 8 compliant (install
flake8-docstringsand runflake8 --docstring-convention=all).
Documentation
- [ ] New features are documented, with examples if plot related.
- [ ] New features have an entry in
doc/users/next_whats_new/(follow instructions in README.rst there). - [ ] API changes documented in
doc/api/next_api_changes/(follow instructions in README.rst there). - [ ] Documentation is sphinx and numpydoc compliant (the docs should build without error).