8000 Update projections page · proplot-dev/proplot@0d349a3 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0d349a3

Browse files
committed
Update projections page
1 parent 5322c3f commit 0d349a3

File tree

1 file changed

+52
-53
lines changed

1 file changed

+52
-53
lines changed

docs/projections.py

Lines changed: 52 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -32,27 +32,31 @@
3232
# To change the axes projection, pass ``proj='name'`` to an axes-creation command
3333
# (i.e., `~proplot.figure.Figure.add_subplot`, `~proplot.figure.Figure.add_subplots`,
3434
# `~proplot.figure.Figure.subplot`, or `~proplot.figure.Figure.subplots`). To use
35-
# different projections for different subplots when creating them all at once,
36-
# pass either a list of projection names or a dictionary of projection names
37-
# with the subplot number as the key. For example, a 2-column figure with a
38-
# Cartesian axes on the left and a Plate Carrée projection on the right can be
39-
# built with either ``proj=('cartesian', 'pcarree')`` or ``proj={2: 'pcarree'}``.
40-
# The default projection is `~proplot.axes.CartesianAxes`, optionally specified
41-
# with the key ``'cartesian'``.
35+
# different projections for different subplots when creating your subplots al
36+
# at once with `~proplot.figure.Figure.subplots`, pass either a list of projection
37+
# names or a dictionary of projection names with the subplot number as the key.
38+
# For example, a 2-column figure with a Cartesian axes on the left and a Plate Carrée
39+
# projection on the right can be built with either ``proj=('cartesian', 'pcarree')``
40+
# or ``proj={2: 'pcarree'}``. The default projection is `~proplot.axes.CartesianAxes`,
41+
# optionally specified with the key ``'cartesian'``.
4242

4343
# %% [raw] raw_mimetype="text/restructuredtext"
4444
# .. _ug_geo:
4545
#
4646
# Geographic axes
4747
# ---------------
48-
#
49-
# To create geographic axes, pass e.g. ``proj='name'`` to an axes-creation
50-
# command (see :ref:`above <ug_proj>`) where ``name`` is any valid
48+
49+
# To create geographic axes, pass e.g. ``proj='name'`` to an
50+
# axes-creation command (see :ref:`above <ug_proj>`) where ``name`` is any valid
5151
# :ref:`PROJ projection name <proj_included>`. Alternatively, you can use
52-
# ``proj=projection_instance`` where ``projection_instance`` is a
53-
# `cartopy.crs.Projection` or `mpl_toolkits.basemap.Basemap` generated with
54-
# the `~proplot.constructor.Proj` :ref:`constructor function <why_constructor>`.
55-
# A very simple geographic plot is shown below.
52+
# ``proj=projection_instance`` where ``projection_instance`` is an object returned
53+
# by the `~proplot.constructor.Proj` :ref:`constructor function <why_constructor>`
54+
# (see below for details). Requesting geographic projections returns
55+
# `~proplot.axes.GeoAxes` instance(s) with their own `~proplot.axes.GeoAxes.format`
56+
# command. `proplot.axes.GeoAxes.format` facilitates :ref:`geographic-specific
57+
# modifications <ug_geoformat& 8000 gt;` like meridional and parallel gridlines and land
58+
# mass outlines. The syntax is very similar to `proplot.axes.CartesianAxes.format`.
59+
# In the below example, we create and format a very simple geographic plot.
5660

5761
# %%
5862
# Option A: Create a projection with pplt.Proj()
@@ -75,31 +79,28 @@
7579
# Cartopy and basemap
7680
# -------------------
7781
#
78-
# Geographic axes in ProPlot use either `cartopy`_ or `basemap`_ as "backends".
79-
# When you request a geographic projection, the axes-creation command returns
80-
# a `proplot.axes.GeoAxes` instance(s) that uses either cartopy or basemap
81-
# under the hood. The `proplot.axes.GeoAxes` subclass has its own
82-
# `~proplot.axes.GeoAxes.format` command that :ref:`manages geographic features
83-
# <ug_geoformat>` like meridional and parallel gridlines and land mass outlines
84-
# with the same syntax for either backend. A few details:
85-
#
86-
# * Cartopy is the default backend. When you request projections with
87-
# cartopy as the backend, the returned axes is a subclass of cartopy's
88-
# `cartopy.mpl.geoaxes.GeoAxes`. Under the hood, invoking
89-
# `~proplot.axes.GeoAxes.format` with cartopy as the backend changes map bounds using
90-
# `~cartopy.mpl.geoaxes.GeoAxes.set_extent`, adds major and minor gridlines using
91-
# `~cartopy.mpl.geoaxes.GeoAxes.gridlines`, and adds geographic features using
92-
# `~cartopy.mpl.geoaxes.GeoAxes.add_feature`. If you prefer, you can use the
93-
# standard `cartopy.mpl.geoaxes.GeoAxes` methods just like you would in cartopy.
94-
# If you need to use the underlying `~cartopy.crs.Projection` instance, it is
95-
# available via the `~proplot.axes.GeoAxes.projection` attribute.
82+
# The `proplot.axes.GeoAxes` class uses either `cartopy`_ or `basemap`_ as "backends"
83+
# to :ref:`format the axes <ug_geoformat>` and :ref:`plot stuff <ug_geoplot>` in
84+
# the axes. A few details:
85+
#
86+
# * Cartopy is the default backend. When you request projection names with cartopy
87+
# as the backend (or pass a `cartopy.crs.Projection` to the `proj` keyword), the
88+
# returned axes is a subclass of `cartopy.mpl.geoaxes.GeoAxes`. Under the hood,
89+
# invoking `~proplot.axes.GeoAxes.format` with cartopy as the backend changes map
90+
# bounds using `~cartopy.mpl.geoaxes.GeoAxes.set_extent`, adds major and minor
91+
# gridlines using `~cartopy.mpl.geoaxes.GeoAxes.gridlines`, and adds geographic
92+
# features using `~cartopy.mpl.geoaxes.GeoAxes.add_feature`. If you prefer, you can
93+
# use the standard `cartopy.mpl.geoaxes.GeoAxes` methods just like you would in
94+
# cartopy. If you need to use the underlying `~cartopy.crs.Projection` instance, it
95+
# is available via the `~proplot.axes.GeoAxes.projection` attribute.
9696
#
9797
# * Basemap is an alternative backend. To use basemap, set :rcraw:`basemap` to
98-
# ``True`` or pass ``basemap=True`` to the axes-creation command. When you request
99-
# projections with basemap as the backend, the resulting axes class redirects
100-
# the plotting methods plot, scatter, contour, contourf, pcolor, pcolormesh,
101-
# quiver, streamplot, and barb to the identically named methods on the
102-
# `~mpl_toolkits.basemap.Basemap` instance. This means you can work
98+
# ``True`` or pass ``basemap=True`` to the axes-creation command. When you
99+
# request a projection name with basemap as the backend (or pass a
100+
# `~mpl_toolkits.basemap.Basemap` to the `proj` keyword), the returned axes
101+
# redirects the plotting methods plot, scatter, contour, contourf, pcolor,
102+
# pcolormesh, quiver, streamplot, and barb to the identically named methods on
103+
# the `~mpl_toolkits.basemap.Basemap` instance. This means you can work
103104
# with the standard axes plotting methods rather than the basemap methods --
104105
# just like cartopy. Under the hood, invoking `~proplot.axes.GeoAxes.format`
105106
# with basemap as the backend adds major and minor gridlines using
@@ -111,10 +112,10 @@
111112
# available via the `~proplot.axes.GeoAxes.projection` attribute.
112113
#
113114
# Together, these features let you work with geophysical data without invoking
114-
# verbose cartopy classes like `~cartopy.crs.LambertAzimuthalEqualArea`
115-
# or keeping track of separate `~mpl_toolkits.basemap.Basemap` instances. They
116-
# considerably reduce the amount of code needed to make geographic plots.
117-
# In the below examples, we create a variety of geographic plots using both
115+
# verbose cartopy classes like `~cartopy.crs.LambertAzimuthalEqualArea` or
116+
# keeping track of separate `~mpl_toolkits.basemap.Basemap` instances. This
117+
# considerably reduces the amount of code needed to make complex geographic
118+
# plots. In the below examples, we create a variety of plots using both
118119
# cartopy and basemap as backends.
119120
#
120121
# .. note::
@@ -124,8 +125,8 @@
124125
# <https://scitools.org.uk/cartopy/docs/latest/gallery/lines_and_polygons/always_circular_stereo.html>`__
125126
# from the cartopy website). This is consistent with basemap's default behavior.
126127
# To disable this feature, set :rcraw:`cartopy.circular` to ``False``.
127-
# Please note that cartopy cannot add gridline labels to polar plots with
128-
# circular boundaries.
128+
# Please note that cartopy cannot add gridline labels to polar plots
129+
# with circular boundaries.
129130
# * By default, ProPlot uses `~cartopy.mpl.geoaxes.GeoAxes.set_global` to give
130131
# non-polar cartopy projections global extent and bounds polar cartopy projections
131132
# at the equator. This is a deviation from cartopy, which determines map boundaries
@@ -434,17 +435,15 @@
434435
# To create `polar axes <polar_>`_, pass ``proj='polar'`` to an axes-creation
435436
# command (see :ref:`above <ug_proj>`). This returns `proplot.axes.PolarAxes`
436437
# instance(s) with their own `~proplot.axes.PolarAxes.format` command.
437-
#
438-
# The `proplot.axes.PolarAxes.format` command facilitates polar-specific axes
439-
# modifications like changing the central radius `r0`, the zero azimuth location
440-
# `theta0`, and the positive azimuthal direction `thetadir`. It also supports
441-
# changing gridline locations with `rlocator` and `thetalocator` (analogous to
438+
# `proplot.axes.PolarAxes.format` facilitates polar-specific axes modifications
439+
# like changing the central radius `r0`, the zero azimuth location `theta0`,
440+
# and the positive azimuthal direction `thetadir`. It also supports changing
441+
# gridline locations with `rlocator` and `thetalocator` (analogous to
442442
# `ylocator` and `xlocator` used by `proplot.axes.CartesianAxes.format`) and
443-
# turning your polar plot into an "annular" or "sector" plot by changing the radial
444-
# limits `rlim` or the azimuthal limits `thetalim`. Finally, since
445-
# `proplot.axes.PolarAxes.format` calls `proplot.axes.Axes.format`, it can be
446-
# used to add axes titles, a-b-c labels, and figure titles, just like
447-
# `~proplot.axes.CartesianAxes`.
443+
# creating "annular" or "sector" plots by changing the radial or azimuthal
444+
# limits `rlim` and `thetalim`. Finally, since `proplot.axes.PolarAxes.format`
445+
# calls `proplot.axes.Axes.format`, it can be used to add axes titles, a-b-c
446+
# labels, and figure titles, just like `~proplot.axes.CartesianAxes`.
448447
#
449448
# For details, see `proplot.axes.PolarAxes.format`.
450449

0 commit comments

Comments
 (0)
0