Releases: psyplot/psyplot
v1.5.0: Compatibility fixes, cli improvements and code formatting
Compatibility fixes, cli improvements and code formatting
Changed
- migrate to python-package-template, see merge request !60
- implement custom warning handling, see merge request !61
- fallback to nearest index when not found, see merge request !62
- improve guessing of coordinates based on their names, see merge request !63
- Fix enhanced attrs, see merge request !66
- minor fix for matplotlib 3.8 compatibility, see merge request !68
- implement ci-matrix for different python and mpl versions, see merge request !69
- Update plugin guide, see merge request !71
Added
v1.4.3: Minor fix for grid files
v1.4.2: plugin entrypoint compatibility fix for python 3.7 (#50)
v1.4.1: Compatibility fixes for matplotlib 3.5 and python 3.10
Compatibility fixes and minor improvements, see #46 for full details.
Added
- An abstract
convert_coordinate
method has been implemented for thePlotter
andFormatoption
class that can be used in subclasses to convert coordinates for the required visualization. The default implementation does nothing (see #39)
Fixed
- the update method now only takes the coordinates that are dimensions in the dataset, see #39
- psyplot is now compatible with matplotlib 3.5 and python 3.10
Changed
- loading more than one variables into a
DataArray
now first selects the corresponding dimensions, then puts it into a singleDataArray
. This avoids loading the entire data (see #39)
v1.4.0: Compatibility fixes and LGPL license
Fixed
- psyplot is now compatible with xarray 0.18
Added
- psyplot does now have a CITATION.cff file, see https://citation-file-format.github.io
Changed
- psyplot is now officially licensed under LGPL-3.0-only, see #33
- the lower bound for supported xarray versions is now 0.17.
- project files do not store the Store anymore as this information cannot be gathered from xarray 0.18. We now rely on xarray to automatically find the engine to open the files.
- Documentation is now hosted with Github Pages at https://psyplot.github.io/psyplot. Redirects from the old documentation at https://psyplot.readthedocs.io have been configured.
- Examples have been removed from the psyplot repository as they now live in a central place at https://github.com/psyplot/examples
- We use CicleCI now for a standardized CI/CD pipeline to build and test the code and docs all at one place, see #32
v1.3.1: Fix for 3D bounds
v1.3.0: New repository, presets and compatibility fixes
Added
-
You can now save and load presets for the formatoptions of a project which applies the formatoptions that you stored in a file to a specific plot method, see #24
-
the
rcParams
do now have acatch
method that allows a temporary change of formatoptions.Usage:
rcParams['some_key'] = 0 with rcParams.catch(): rcParams['some_key'] = 1 assert rcParams['some_key'] == 1 assert rcParams['some_key'] == 0
-
ArrayList.from_dataset
(and consecutively all plotmethods) now support different input types for the decoder. You can pass an instance of theCFDecoder
class, a sub class ofCFDecoder
, or keyword arguments that are used to initialize the decoder, see #20. Furthermore, thecheck_data
method of the various plotmethods now also accept adecoder
parameter, see #22 -
psyplot.data.open_dataset
now decodes grid_mappings attributes, see #17 -
psyplot projects now support the with syntax, e.g. something like:
with psy.plot.mapplot('file.nc') as sp: sp.export('output.png')
sp will be closed automatically (see #18)
-
the update to variables with other dimensions works now as well (see #22)
-
a
psyplot.project.Project
now has a newformat_string
method to format a string with the meta attributes of the data in the projects -
The
ArrayList
class now supports filtering by formatoption keys. You can filter for plotters that have acmap
formatoption via:sp1 = psy.plot.mapplot(ds) sp2 = psy.plot.lineplot(ds) full_sp = sp1 + sp2 full_sp(fmts='cmap') # gives equivalent results as addressing sp1 directly
Changed
- psyplot has been moved from https://github.com/Chilipp/psyplot to https://github.com/psyplot/psyplot, see #16
- Specifying names in
x
,y
,t
andz
attributes of theCFDecoder
class now means that any other attribute (such as thecoordinates
oraxis
attribute) are ignored - If a given variable cannot be found in the provided coords to
CFDecoder.get_variable_by_axis
, we fall back to theCFDecoder.ds.coords
attribute, see #19 - A bug has been fixed for initializing a
CFDecoder
withx, y, z
andt
parameters (see #20)
v1.2.1: Compatibility fixes
Support for xarray=0.12, cdo=1.5 and docrep=0.2.6
v1.2.0: Better unstructured grid support and ready for python 3.7
The 1.2.0 release contains better functionalities for handling unstructured data and it contains some minor bug fix to make it usable for python 3.7.
The 1.2.0 release is the last one for python 2.7. The next releases will only be available for python 3.5+.
Added
- The
psyplot.plotter.Plotter.initialize_plot
method now takes a priority keyword to only initialize only formatoptions of a certain priority
Removed
- The installers from the psyplot-conda repositories have been depreceated. Instead, now download the latest miniconda and install psyplot and the plugins via
conda install -c conda-forge psy-maps psyplot-gui psy-reg
Changed
- We generalized the handling of unstructured data as lined out in issue#6. The new method
psyplot.data.CFDecoder.get_cell_node_coord
returns the coordinates of the nodes for a given grid cell. These informations are used by the psy-simple and psy-maps plugins for displaying any unstructured data. See also the example on the visualization of unstructured
grids - We removed the inplace parameter for the CFDecoder methods since it is deprecated with xarray 0.12 (see issue #8). The
CFDecoder.decode_ds
method now always decodes inplace
v1.1.0: New xarray DataArray and Dataset accessors
This new release mainly adds new xarray accossors (psy
) for DataArrays
and Datasets. Additionally we provide methods to calculate the spatially
weighted mean, such as fldmean, fldstd and fldpctl.
Added
- The yaxis_inverted and xaxis_inverted is now considered when loading and
saving a matplotlib axes - Added the
seaborn-style
command line argument - Added the
concat_dim
command line argument - Added the plot attribute to the DataArray and Dataset accessors. It is now
possible to plot directly from the dataset and the data array - Added
requires_replot
attribute for theFormatoption
class. If this
attribute is True and the formatoption is contained in an update, it is the
same as callingPlotter.update(replot=True))
. - We added support for multifile datasets when saving a project.
Multifile datasets are datasets that have been opened with, e.g.
psyplot.data.open_mfdataset
or
psyplot.project.plot.<plotmethod>(..., mfmode=True)
. This however does
not always work with datasets opened withxarray.open_mfdataset
. In these
cases, you have to set theDataset.psy._concat_dim
attribute manually - Added the
chname
parameter when loading a project. This parameter can
be used to display another variable from the dataset than the one stored
in the psyplot project file - Added the
gridweights
,fldmean
,fldstd
andfldpctl
methods
to thepsy
DataArray accessor to calculate weighted means, standard
deviations and percentiles over the spatial dimensions (x- and y). - Added the
additional_children
andadditional_dependencies
parameters
to the Formatoption intialization. These parameters can be used to provide
additional children for a formatoption for one plotter class - We added the
psyplot.plotter.Formatoption.get_fmt_widget
method which can
be implemented to insert widgets in the formatoptions widget of the
graphical user interface