Announcing PyGMT v0.14.0, with two new plotting methods and six new functions to access more GMT remote datasets!
The PyGMT team is staring the New Year with version v0.14.0 !
Here are the highlights :
- Bump minimum supported version to GMT>=6.4.0
- New plotting methods
Figure.hlines
/Figure.vlines
for plotting horizontal/vertical lines on Cartesian, polar, and geographic coordinate systems - PyArrow as an optional dependency and improved support of PyArrow data types
- New or extended functions to access and load more GMT remote datasets:
Earth distance to shoreline | Earth mean dynamic topography | Earth north-south deflection | Earth free-air anomaly uncertainty |
---|---|---|---|
Nice enhancements :
Figure.plot
andFigure.plot3d
: New parametersymbol
for plotting data points with varying symbols (#1117, #3559)Figure.legend
: Support passing a StringIO object as the legend specification (#3438)
Read through the changelog for the full list of changes. Installation/upgrade instructions are at https://www.pygmt.org/v0.14.0/install.html! Note that this version is cross-compatible with GMT 6.4 - 6.5, but it requires Python 3.11+ , NumPy 1.25+, pandas 2.0+, and Xarray 2023.04+ following our support policy for GMT and other package dependencies. Go try it online at try-gmt .
As usual, please feel free to report any bugs with the issue template on GitHub. Your feedback is what helps us to improve ! For example, this bug report at issue #3104 sparked off a major refactoring by @seisman at PR #3132 that removed a ton of workarounds in PyGMTβs codebase related to spaces and funny characters!
Additions and updates to Intros, Tutorials, and Gallery examples
- Tutorial for βPlotting polygonsβ (#3593) by @yvonnefroehlich
- Update dataset used for gallery example for βGeoPandas: Plotting lines with LineString or MultiLineString geometryβ (#3711) by @mgrund
Roadmap to future releases
While the team has been busy with AGU24, including more GMT remote datasets, and refactoring the low-level functions, there are still lots of documentation and new features weβd like to add! Check out the good first issue label on GitHub or the list below for things you can help with!
- Features/enhancements
- Wrap GMT moduls: clip, coupe, earthtide, fitcircle, movie, polar, and sac
- Implement high-level methods of
Figure.plot
andFigure.plot3d
(#2797):Figure.scatter
,Figure.choropleth
,Figure.errorbar
,Figure.stem
,Figure.fill_between
- Implement high-level methods of
Figure.basemap
orFigure.coast
(#2831):Figure.scale_bar
,Figure.directionrose
,Figure.magneticrose
- Documentation improvements
Please donβt be shy to reach out on GitHub if youβre interested in contributing ! Also have a look at our Contributors Guide to figure out how you can help and get started .
Upcoming deprecations
- v0.15.0
pygmt.clib
: Remove theopen_virtual_file
method, useopen_virtualfile
instead (FutureWarning raised since PyGMT v0.11.0)pygmt.clib
: Remove thevirtualfile_from_data
method, usevirtualfile_in
instead
- v0.16.0
pygmt.clib
: Thevirtualfile_from_vectors
methods takes a sequence of vectors as its single argument, rather than passing multiple vectors as positional arguments (FutureWarning raised since PyGMT v0.14.0)
- v1.0.0
- Short form aliases (e.g.
R
) will not work if long form aliases (e.g.region
) are available (SyntaxWarning raised since PyGMT v0.4.0, see #1316)
- Short form aliases (e.g.
The compatibility matrix for GMT, Python, and the required core package dependencies NumPy, pandas, and Xarray is listed at Minimum Supported Versions β PyGMT, so make sure you keep things up to date!
Conference presentations/workshops/sprints
- The GMT and PyGMT teams have organized an AGU pre-conference workshop for GMT and PyGMT in Washington, D.C. on 2024-12-08: PREWS9 Mastering Geospatial Visualizations with GMT/PyGMT. If you could not make it to the AGU Annual meeting this year in-person, or you missed the workshop for other reasons, you can still go through the workshop on your own, as the materials are freely available from Mastering Geospatial Visualizations with GMT/PyGMT β Mastering Geospatial Visualizations with GMT/PyGMT.
- Besides this workshop there was an union-wide memorial session for Paul Wessel: U019 - The impact of GMT in the Earth, Ocean and Space sciences: Whatβs next?. Check out the slides for the PyGMT talk PyGMT β Accessing and Integrating GMT with Python and the Scientific Python Ecosystem, which are free available from PyGMT β Accessing and Integrating GMT with Python and the Scientific Python Ecosystem (AGU24, U12B-05).
P.S. Share the word on Instagram @genericmappingtools and ResearchGate!