Skip to content

Commit 46bd542

Browse files
committed
Update whatsnew and contribution guide
1 parent 03c0693 commit 46bd542

File tree

2 files changed

+45
-31
lines changed

2 files changed

+45
-31
lines changed

HOWTOCONTRIBUTE.rst

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,13 @@ Write tests
3939
===========
4040

4141
Most modern python packages have ``test_*.py`` scripts that are run by `pytest`
42-
via the `Travis Continuous Integration <https://travis-ci.com>`__ service
43-
whenever commits are pushed to the repository. Currently, automatic testing only
44-
includes the examples that appear on the website User Guide (see `.travis.yml`),
45-
and `Luke Davis <https://github.com/lukelbd>` runs additional tests manually on
46-
his machine. This approach leaves out many use cases and leaves the project more
47-
vulnerable to bugs. Adding tests is a *critical* item on our to-do list.
42+
via continuous integration services like `Travis <https://travis-ci.com>`__
43+
whenever commits are pushed to the repository. Currently, proplot's continuous
44+
integration includes only the examples that appear on the website User Guide (see
45+
`.travis.yml`), and `Luke Davis <https://github.com/lukelbd>` runs additional tests
46+
manually. This approach leaves out many use cases and leaves the project more
47+
vulnerable to bugs. Improving proplot's continuous integration using `pytest`
48+
and `pytest-mpl` is a *critical* item on our to-do list.
4849

4950
If you can think of a useful test for proplot, feel free to submit a pull request.
5051
Your test will be used in the future.

WHATSNEW.rst

Lines changed: 38 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Deprecated
4040
renaming `~proplot.gridspec.GridSpec.get_subplot_geometry` to
4141
`~proplot.gridspec.GridSpec.get_geometry`, `~proplot.gridspec.GridSpec.get_geometry`
4242
to `~proplot.gridspec.GridSpec.get_total_geometry` (:commit:`52f57094`).
43-
* Improve the `~proplot.gridspec.GridSpec` "panel" obfuscation by having the
43+
* Improve the `~proplot.gridspec.GridSpec` "panel" obfuscation by having the public
4444
`~proplot.gridspec.GridSpec` properties ``gs.nrows``, ``gs.ncols``, ``gs.wratios``,
4545
``gs.hratios``, ``gs.wspace``, ``gs.hspace``, ``gs.wpad``, and ``gs.hpad`` refer to
4646
the reduced non-panel geometry (:commit:`52f57094`).
@@ -49,52 +49,59 @@ Deprecated
4949
The new default locator `~proplot.ticker.DiscreteLocator` means these
5050
settings should not need to be used as much (see below).
5151

52+
Style changes
53+
-------------
54+
55+
* Disable automatic reversal of dependent variable coordinates when axis limits
56+
are fixed, and add documentation for this feature (:issue:`300`).
57+
* Use `~proplot.ticker.DiscreteLocator` for major/minor discrete colorbar ticks instead
58+
of `~matplotlib.ticker.FixedLocator` and auto-update the tick selection whenever
59+
the axes is drawn (:commit:`b94a9b1e`, :commit:`92bb937e`, :commit:`302c239e`).
60+
* Put outer legends or colorbars on the same panel axes if their `align` values
61+
differ and (for colorbars only) their `length`\ s do not overlap (:commit:`91ac49b7`).
62+
This permits e.g. aligned "bottom left" and "bottom right" outer legends.
63+
5264
Features
5365
--------
5466

55-
* Significantly improve "tight layout" performance by skipping artists with clipping
56-
enabled and clipping paths/boxes equivalent to the subplot edge (:commit:`f891e4f0`).
67+
* Significantly improve "tight layout" performance in geographic plots by skipping
68+
artists with clipping paths/boxes set to the subplot bounds (:commit:`f891e4f0`).
5769
* Add modifiable `proplot.figure.Figure.tight` property to retrieve/change the
58-
"tight layout" setting (:commit:`46f46c26`).
70+
tight layout setting (:commit:`46f46c26`).
5971
* Add top-level `~proplot.ui.subplot` command that returns a figure and a single
6072
subplot, analogous to `~proplot.ui.subplots` (:commit:`8459c24c`).
73+
* Support specifying `transform` keyword arguments as registered cartopy
74+
projections rather than `~cartopy.crs.CRS` instances (:commit:`c7a9fc95`).
6175
* Permit passing `~proplot.gridspec.GridSpec` instances to
6276
`~proplot.figure.Figure.add_subplots` to quickly draw a subplot
6377
inside each gridspec slot in row or column-major order (:commit:`a9ad7429`).
6478
* Add `~proplot.gridspec.GridSpec.copy` method to re-use the same gridspec geometry
6579
for multiple figures (re-using an existing gridspec is otherwise not possible)
6680
(:commit:`8dc7fe3e`, :commit:`be410341`, :commit:`a82a512c`).
67-
* Permit adding "filled" colorbars to non-subplots and specifying
68-
`length` larger than one by implementing as plain axes whose bounds
69-
are specified by the hidden parent axes (:commit:`9fc94d21`).
81+
* Permit adding "filled" colorbars to non-subplots and `length` greater than one
82+
by implementing with a non-subplot child axes and inset locator (:commit:`9fc94d21`).
7083
* Permit adding additional panels (or outer legends or colorbars) by calling
7184
from the panel rather than the main subplot (:commit:`cfaeb177`).
7285
* Permit disabling a-b-c labels for a particular subplot by passing e.g.
7386
``number=None`` instead of ``number=False`` (:commit:`f7308cbe`).
74-
* Make proplot `~proplot.ticker.IndexFormatter` public, since the matplotlib
75-
version was entirely removed in version 3.5 (:commit:`c2dd8b2e`).
76-
* Replace matplotlib `~proplot.ticker.IndexLocator` with custom version,
77-
consistent with `~proplot.ticker.IndexFormatter`, and prevent the
78-
matplotlib limitation requiring lines to be present (:commit:`c2dd8b2e`).
79-
* Use custom locator `proplot.ticker.DiscreteLocator` for major/minor discrete
80-
colorbar ticks instead of `~matplotlib.ticker.FixedLocator` (:commit:`b94a9b1e`).
81-
This auto-selects ticks from a subset of levels depending on the axis length.
82-
* Refresh major/minor discrete colorbar ticks when the associated axis is drawn to
83-
update the tick selection (:commit:`92bb937e`, :commit:`302c239e`).
84-
* Register `proplot.ticker.DiscreteLocator` as ``'discrete'`` and add keywords `index`
85-
and `discrete` to the constructor `~proplot.constructor.Locator` (:commit:`b94a9b1e`).
87+
* Make `proplot.ticker.IndexFormatter` public, since the matplotlib version
88+
was entirely removed in version 3.5 (:commit:`c2dd8b2e`).
89+
* Replace `matplotlib.ticker.IndexLocator` with `proplot.ticker.IndexLocator`,
90+
consistent with `~proplot.ticker.IndexFormatter`, and remove the limitation
91+
requiring data to be plotted on the axis (:commit:`c2dd8b2e`).
92+
* Add `proplot.ticker.DiscreteLocator` analogous to `~matplotlib.ticker.FixedLocator`
93+
that ticks from a subset of fixed values, and add a `discrete` keyword and register
94+
as ``'discrete'`` in `proplot.constructor.Locator` (:commit:`b94a9b1e`).
8695
* Auto disable minor colorbar and axis ticks when major ticks have non-numeric
8796
labels set by `~matplotlib.ticker.FixedFormatter` (:commit:`c747ae44`).
8897
* Permit passing `vmin` and `vmax` to `proplot.axes.Axes.colorbar`, as quick
8998
alternative to using `norm_kw` (:commit:`eb9565bd`).
9099
* Permit discretizing continuous colormaps passed to `~proplot.axes.Axes.colorbar` using
91100
`values`, instead of ignoring `values` when colormaps are passed (:commit:`503af4be`).
92-
* Ensure the default ticks are aligned with levels when passing discrete colormaps
93-
to `~proplot.axes.Axes.colorbar` (:commit:`503af4be`).
101+
* Ensure the default ticks are aligned with levels when passing discrete colormap
102+
instances to `~proplot.axes.Axes.colorbar` (:commit:`503af4be`).
94103
* Emit warning when both a scalar mappable and `vmin`, `vmax`, `norm`, or `values`
95104
are passed to `~proplot.axes.Axes.colorbar` (:commit:`503af4be`).
96-
* Disable automatic reversal of dependent variable coordinates when axis limits
97-
are fixed, and add documentation for this feature (:issue:`300`).
98105
* Automatically load from "local" folders named ``proplot_cmaps``, ``proplot_cycles``,
99106
``proplot_colors``, and ``proplot_fonts`` in current or parent directories,
100107
consistent with "local" ``proplotrc`` files (:commit:`a3a7bb33`).
@@ -111,6 +118,8 @@ Bug fixes
111118
and colorbars scaled by `proplot.colors.DiscreteNorm` (:issue:`302`).
112119
* Fix matplotlib >= 3.5 issue where date axes are not correctly detected
113120
due to a new default date converter (:commit:`63deee21`).
121+
* Fix matplotlib >= 3.4 issue where position of child axes in presence of
122+
subfigures is incorrect (:commit:`9246835f`).
114123
* Fix matplotlib >= 3.4 issue where alternate axes are drawn twice
115124
due to using `~matplotlib.figure.Figure.add_child_axes` and failing to
116125
remove axes from the ``fig._localaxes`` stack (:issue:`303`).
@@ -251,11 +260,15 @@ Documentation
251260
Version 0.9.3 (2021-10-09)
252261
==========================
253262

254-
Features
255-
--------
263+
Style changes
264+
-------------
256265

257266
* Stop changing default background of figure when `~proplot.axes.ThreeAxes` is present
258267
-- instead just set the default axes background to transparent (:commit:`e933614d`).
268+
269+
Features
270+
--------
271+
259272
* Permit passing background patch-related ``format`` keywords like
260273
`facecolor` on axes instantiation (:commit:`f863afd8`).
261274
* Add :rcraw:`land.alpha`, :rcraw:`ocean.alpha`, :rcraw:`coast.alpha`,

0 commit comments

Comments
 (0)