Compatibility fixes


  • We now use the new convert_coordinate method that has been introduced with psyplot v1.4.1 (see psyplot/psyplot#39 and #30)


  • psy-simple is now compatible with matplotlib 3.5 (see #31)


Compatibility fixes and LGPL license

As with psyplot 1.4.0, psy-simple is now continuously tested and deployed with CircleCI.


  • Compatibility fixes for matplotlib>=3.3



  • psy-simple is now officially licensed under LGPL-3.0-only, see #28

  • We use CicleCI now for a standardized CI/CD pipeline to build and test the code and docs all at one place, see #27


Patch for plotting the polygons with 3D bounds


  • the values 'tri', 'tricontour' and 'tricontourf' for the plot formatoptions have been depreceated and should be replaced by 'poly', 'contour' and 'contourf' respectively, see #23


  • A bug was fixed with the extend formatoption if plot=None, see #20

  • variables with 3D bounds are now interpreted correctly, see #24


New background and mask formatoptions and more options for colorbar bounds


  • a new background formatoption has been implemented that allows to set the facecolor of the axes (i.e. the background color for the plot)

  • a new mask formatoption has been implemented that allows to mask the data based on a mask that can either be in the dataset or in a separate file (see #15)

  • the bounds and other ticks (e.g. xticks, yticks, cticks) formatoptions have gained multiple new values (all backwards-compatible, see #13):

    • they now support discrete logarithmic and symmetric bounds/ticks via bounds='log' and bounds='symlog'.

    • The bounds and other tick formatoptions (xticks, cticks, yticks, etc.) now support a dictionary as a value, e.g.:

      plotter.update(bounds={'method': 'rounded', 'percmin': 5})
    • You can specify vmin and vmax for color bounds and ticks which prevents their automatic estimation, e.g. via:

      plotter.update(bounds={'method': 'rounded', 'vmin': 50, 'vmax': 75})
      # or
      plotter.update(bounds=['rounded', None, None, None, 50, 75])


  • values in the statusbar are only shown, if the drawn artist contains the cursor position, see #18

  • psy-simple now requires matplotlib greater or equal than 2.0

  • psy-simple has been moved from to, see #7

  • The color handling of the color formatoption has been changed to allow appending of new data. The colors attribute can be extended by the color_cycle using the extended_colors attribute (see #10)


  • Fixed a bug to calculate color bounds for uniform data, see #9

  • An issue has been fixed with the setting of colorbar ticks after updating the colorbar bounds (see #13)



  • The plot2d plotmethod now also supports unstructured data of any shape (see issue#6)

  • Added a categorical formatoption to the barplot plot method to allow a switch between categorical and non-categorical plots

  • The lineplot method now also support 'stacked' plots



  • Changelog

  • interp_bounds formatoption for the plot2d plot method (see the docs)

  • Added the fldmean plot method that can be used to directly calculate and plot the mean over the x- and y-dimensions


  • The xlim and ylim formatoptions now consider inverted x- and y-axes