pygmt
pygmt copied to clipboard
Add a tutorial explaining the generally accepted input types
Inspired by PR #1186.
For GMT CLI, there are mainly two types of input: a table or a grid. PyGMT is more powerful and can accept more input types.
For a table input, PyGMT functions generally accept the following input types:
- a file name to a ASCII table, e.g.,
data="input.dat"
- a 2d numpy array, pandas.DataFrame, e.g.,
data=data
- a single value of int or float or str type to
x
,y
, e.g.,x=5.0, y=5.0
- a list to
x
andy
, e.g.,x=[1.0, 2.0], y=[3.0, 4.0]
- a 1d numpy array to
x
andy
, e.g.,x=np.array([1.0, 2.0]), y=np.array([3.0, 4.0])
- a
geopandas.GeoDataFrame
(see #608 & #1000) - an
xarray.Dataset
-
io.StringIO
(once #576 is done) - more?
For a grid input, PyGMT functions generally accept the following input types:
- a file name to a grid file, e.g.,
grid="input_grid.nc"
- xarray.DataArray, e.g.,
grid=grid
- more?
Although these various input data types are already used in different tutorials and examples, I think it would be better to have a standalone tutorial, explaining these input types.
Also should mention that plotting shapefiles directly using plot
and plot3d
(maybe others too?) is supported. Xref #1616 and https://docs.generic-mapping-tools.org/6.3/cookbook/file-formats.html?highlight=shapefile#shapefiles
pathlib.Path
support was added in https://github.com/GenericMappingTools/pygmt/pull/1382.
Working on supporting 3-band xarray.DataArray
inputs at #2590, this would be in addition to regular 1-band xarray.DataArray
inputs (e.g. DEMs).