Changelog history¶
ProPlot v1.0.0 (2020-##-##)¶
This will be published when some major refactoring tasks are completed, and deprecation warnings will be removed. See GH#89, GH#109, GH#110, and GH#111.
ProPlot v0.6.0 (2020-##-##)¶
Deprecated
Deprecate
format
functions in favor of the axes-artistset
override (GH#89).Rename
width
andheight
subplots
keyword args tofigwidth
andfigheight
(GH####).Rename
aspect
,axwidth
, andaxheight
keyword args torefaspect
,refwidth
, andrefheight
(GH####).Rename
rc[‘subplots.pad’]
andrc[‘subplots.axpad’]
torc[‘subplots.edgepad’]
andrc[‘subplots.subplotpad’]
(GH####).
Features
All features are now implemented with individual setters, like in matplotlib, but we still encourage using the bulk
set
method through documentation examples and by populating theset
docstring (so valid arguments are no longer implicit).Users can now use
figure
withadd_subplot
orsubplots
(GH#110). This is a major improvement!GridSpec
now accepts physical units, rather than havingsubplots
handle the units (GH#110).Allow “hanging” twin x and y axes as members of the
EdgeStack
container. Arbitrarily many siblings are now permitted.Use
GeometrySolver
for calculating various automatic layout stuff instead of having 1000 hiddenFigure
methods (GH#110).Use
EdgeStack
class for handling stacks of colorbars, legends, and text (GH#110).
Internals
Assignments to
rc_configurator
are now validated, and the configurator is now a monkey patch ofrcParams
(GH#109).Plotting wrapper features (e.g.
standardize_1d
) are now implemented and documented on the individual methods themselves (e.g.plot
; GH#111). This is much easier for new users.Handle all projection keyword arguments in
add_subplot
instead ofsubplots
(GH#110).Panels, colorbars, and legends are now members of
EdgeStack
stacks rather than getting inserted directly into the mainGridSpec
(GH#110).
ProPlot v0.5.0 (2020-02-10)¶
Deprecated
Rename
abc.linewidth
andtitle.linewidth
toborderwidth
(@54eb4bee).Rename
text_wrapper
linewidth
andinvert
toborderwidth
andborderinvert
(@54eb4bee).
Features
Add back Fabio Crameri’s scientific colour maps (GH#116).
Permit both e.g.
locator
andxlocator
as keyword arguments toaltx
, etc. (GH#57fab860).Permit descending
BinNorm
andLinearSegmentedNorm
levels (GH#119).Permit overriding the font weight, style, and stretch in the
show_fonts
table (@e8b9ee38).Permit hiding “unknown” colormaps and color cycles in the
show_cmaps
andshow_cycles
tables (@cb206f19).
Bug fixes
Fix issue where
show_cmaps
andshow_cycles
colormap names were messed up (@13045599)Fix issue where
show_cmaps
andshow_cycles
did not return figure instance (@98209e87).Fix issue where user
values
passed tocolorbar_wrapper
were sometimes ignored (@fd4f8d5f).Prevent formatting rightmost meridian label as
1e-10
on cartopy map projections (@37fdd1eb]).Support CF-time axes by fixing bug in
standardize_1d
andstandardize_2d
(GH#103, GH#121).Redirect to the “default” location when using
legend=True
andcolorbar=True
to generate on-the-fly legends and colorbars (@c2c5c58d). This feature was accidentally removed.Let
colorbar_wrapper
accept lists of colors (@e5f11591). This feature was accidentally removed.
Internals
Remove various unused keyword arguments (@33654a42).
Major improvements to the API controlling axes titles and a-b-c labels (@1ef7e65e).
Always use full names
left
,right
,top
, andbottom
instead ofl
,r
,b
, andt
, for clarity (@1ef7e65e).Improve
GrayCycle
colormap, is now much shorter and built from reflected FabioGrayC
colormaps (@5b2c7eb7).
ProPlot v0.4.3 (2020-01-21)¶
Deprecated
Remove
ipython_autoreload
,ipython_autosave
, andipython_matplotlib
(GH#112, GH#113). Move inline backend configuration to a hidden method that gets called whenever therc_configurator
is initalized.
Features
Permit comments at the head of colormap and color files (@0ffc1d15).
Make
parametric
matchplot
autoscaling behavior (@ecdcba82).
Internals
Use
colorbar
instead ofimshow
forshow_cmaps
andshow_cycles
displays (GH#107).
ProPlot v0.4.2 (2020-01-09)¶
Features
Add
family
keyword arg toshow_fonts
(GH#106).Package the TeX Gyre font series with ProPlot (GH#106). Remove a couple other fonts.
Put the TeX Gyre fonts at the head of the serif, sans-serif, monospace, cursive, and fantasy
rcParams
font family lists (GH#104, GH#106).
Bug fixes
Fix issues with Fira Math weights unrecognized by matplotlib (GH#106).
ProPlot v0.4.1 (2020-01-08)¶
Deprecation
Change the default
.proplotrc
format from YAML to the.matplotlibrc
syntax (GH#101).
Features
Comments (lines starting with
#
) are now permitted in all RGB and HEX style colormap and cycle files (GH#100).Break down
show_cycles
bars into categories, just likeshow_cmaps
(GH#100).
Bug fixes
Fix issue where
show_cmaps
andshow_cycles
draw empty axes (GH#100).Add back the default .proplorc file to docs (GH#101). To do this,
conf.py
auto-generates a file in_static
.
Internals
Add
geogrid.color/linewidth/etc
andgridminor.color/linewidth/etc
props as children ofgrid.color/linewidth/etc
(GH#101).Various
rc_configurator
improvements, remove outdated global variables (GH#101).Better error handling when loading colormap/cycle files, and calls to
Colormap
andCycle
now raise errors while calls toregister_cmaps
andregister_cycles
still issue warnings (GH#100).
ProPlot v0.4.0 (2020-01-07)¶
Deprecated
Rename
basemap_defaults
tobasemap_kwargs
andcartopy_projs
tocartopy_names
(@431a06ce).Remove
subplots.innerspace
,subplots.titlespace
,subplots.xlabspace
, andsubplots.ylabspace
spacing arguments, automatically calculate default non-tight spacing using_get_space
based on current tick lengths, label sizes, etc.Remove redundant
use_fonts
, usercParams['sans-serif']
precedence instead (GH#95).dualx
anddualy
no longer accept “scale-spec” arguments. Must be a function, two functions, or an axis scale instance (GH#96).Remove
Axes
share[x|y]
,span[x|y]
, andalign[x|y]
kwargs (GH#99). These settings are now always figure-wide.Rename
Cycle
samples
toN
, renameshow_colors
nbreak
tonhues
(GH#98).
Features
Add
from_file
static methods (GH#98). You can now load files by passing a name toColormap
.Add TeX Gyre Heros as open source Helvetica-alternative; this is the new default font. Add Fira Math as DejaVu Sans-alternative; has complete set of math characters (GH#95).
Add
xlinewidth
,ylinewidth
,xgridcolor
,ygridcolor
keyword args toformat
(GH#95).Add getters and setters for various
Figure
settings likeshare[x|y]
,span[x|y]
, andalign[x|y]
(GH#99).Let
twinx
,twiny
,altx
, andalty
acceptformat
keyword args just likedualx
anddualy
(GH#99).Add
Figure
fallback_to_cm
kwarg. This is used byshow_fonts
to show dummy glyphs to clearly illustrate when fonts are missing characters, but preserve graceful fallback for end user.Improve
Proj
constructor function. It now acceptsProjection
andBasemap
instances, just like other constructor functions, and returns only the projection instance (GH#92).rc
__getitem__
always returns the setting. To get context block-restricted settings, you must explicitly passcontext=True
toget
,fill
, orcategory
(GH#91).
Bug fixes
Fix issues with
dualx
anddualy
with non-linear parent scales (GH#96).Ignore TTC fonts because they cannot be saved in EPS/PDF figures (GH#94 and GH#95).
Do not try to use Helvetica Neue because “thin” font style is read as regular (GH#94 and GH#95).
Documentation
Use the imperative mood for docstring summaries (GH#92).
Fix
show_cycles
bug (GH#90) and show cycles using colorbars rather than lines (GH#98).
Internals
Define
rc
default values with inline dictionaries rather than with a default.proplotrc
file, change the auto-generated user.proplotrc
(GH#91).Remove useless
panel_kw
keyword arg fromlegend_wrapper
andcolorbar_wrapper
(GH#91). Removewflush
,hflush
, andflush
keyword args fromsubplots
that should have been removed long ago.
ProPlot v0.3.1 (2019-12-16)¶
Bug fixes
ProPlot v0.3.0 (2019-12-15)¶
Deprecated
Remove
'Moisture'
colormap (@cf8952b1).
Features
Add
use_font
, only sync Google Fonts fonts (GH#87).New
'DryWet'
colormap is colorblind friendly (@0280e266).Permit shifting arbitrary colormaps by
180
degrees by appending the name with'_shifted'
, just like'_r'
(@e2e2b2c7).
Bug fixes
Add brute force workaround for saving colormaps with callable segmentdata (@8201a806).
Fix issue with latest versions of matplotlib where
%matplotlib inline
fails silently so the backend is not instantiated (@cc39dc56).Save the
cyclic
andgamma
attributes in JSON files too (@8201a806).
Documentation
Cleanup notebooks, especially the colormaps demo (e.g. @952d4cb3).
Internals
Change
clock
toperf_counter
(GH#86).
ProPlot v0.2.7 (2019-12-09)¶
Bug fixes
Fix issue where
AutoFormatter
logarithmic scale points are incorrect (@9b164733).
Documentation
Improve Configuring proplot documentation (@9d50719b).
Internals
ProPlot v0.2.5 (2019-12-07)¶
Features
Much better
CutoffScale
algorithm, permit arbitrary cutoffs (GH#83).
ProPlot v0.2.4 (2019-12-07)¶
Deprecated
Remove
fonts_system
andfonts_proplot
, renamecolordict
tocolors
, make top-level variables more robust (@861583f8).
Documentation
Params table for
show_fonts
(@861583f8).
Internals
Improvements to
register_colors
.
ProPlot v0.2.3 (2019-12-05)¶
Bug fixes
Fix issue with overlapping gridlines using monkey patches on gridliner instances (@8960ebdc).
Fix issue where auto colorbar labels are not applied when
globe=True
(@ecb3c899).More sensible zorder for gridlines (@90d94e55).
Fix issue where customized super title settings are overridden when new axes are created (@35cb21f2).
Documentation
Organize ipython notebook documentation (@35cb21f2).
Internals
Major cleanup of the
colorbar_wrapper
source code, handle minor ticks using the builtin matplotlib API just like major ticks (@b9976220).
ProPlot v0.2.2 (2019-12-04)¶
Deprecated
Rename
axes_grid
tosubplot_grid
(@ac14e9dd).
Bug fixes
Fix shared x and y axis bugs (@ac14e9dd).
Documentation
Make notebook examples PEP8 compliant (@97f5ffd4). Much more readable now.
ProPlot v0.2.1 (2019-12-02)¶
Deprecated
Rename
autoreload_setup
,autosave_setup
, andmatplotlib_setup
toipython_autoreload
,ipython_autosave
, andipython_matplotlib
, respectively (@84e80c1e).
ProPlot v0.2.0 (2019-12-02)¶
Deprecated
Remove the
nbsetup
rc setting in favor of separateautosave
,autoreload
, andmatplotlib
settings for triggering the respective%
magic commands. (@3a622887;nbsetup
is still accepted but no longer documented).Rename the
format
rc setting in favor of theinlinefmt
setting (@3a622887;format
is still accepted but no longer documented).Rename
FlexibleGridSpec
andFlexibleSubplotSpec
toGridSpec
andSubplotSpec
(@3a622887; until GH#110 is merged it is impossible to use these manually, so this won’t bother anyone).
Features
Support manual resizing for all backends, including
osx
andqt
(@3a622887).
Bug fixes
Disable automatic resizing for the
nbAgg
interactive inline backend. Found no suitable workaround (@3a622887).
Internals
Organize the
rc
documentation and the default.proplotrc
file (@3a622887).Rename
rcParamsCustom
torcParamsLong
(@3a622887; this is inaccessible to the user).When calling
fig.canvas.print_figure()
on a stale figure, callfig.canvas.draw()
first. May be overkill forsavefig
but critical for correctly displaying already-drawn notebook figures.
ProPlot v0.1.0 (2019-12-01)¶
Internals
Include
flake8
in Travis CI testing (@8743b857).Enforce source code PEP8 compliance (@78da51a7).
Use pre-commit for all future commits (@e14f6809).
Implement tight layout stuff with canvas monkey patches (@67221d10). ProPlot now works for arbitrary backends, not just inline and qt.
Documentation
Various RTD bugfixes (e.g. @37633a4c).