Image#
import hvplot.xarray # noqa
import xarray as xr
ds = xr.tutorial.open_dataset('air_temperature')
ds
<xarray.Dataset> Size: 31MB Dimensions: (lat: 25, time: 2920, lon: 53) Coordinates: * lat (lat) float32 100B 75.0 72.5 70.0 67.5 65.0 ... 22.5 20.0 17.5 15.0 * lon (lon) float32 212B 200.0 202.5 205.0 207.5 ... 325.0 327.5 330.0 * time (time) datetime64[ns] 23kB 2013-01-01 ... 2014-12-31T18:00:00 Data variables: air (time, lat, lon) float64 31MB ... Attributes: Conventions: COARDS title: 4x daily NMC reanalysis (1948) description: Data is from NMC initialized reanalysis\n(4x/day). These a... platform: Model references: http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanaly...
When data values are available on an x, y grid, they can often be represented as an image
.
ds.hvplot.image()
This is equivalent to specifying:
ds.hvplot.image(x='lon', y='lat', z='air', groupby='time', cmap='kbc_r')
A simpler case would be to take the temperature at just one day. Here we’ll show how to use clabel
to control the colorbar and also demonstrate how when the data are symmetric around 0, the “coolwarm” colormap is used by default.
time = '2014-01-01'
data = ds.sel(time=time).mean('time') - 273 # convert to celsius
data.hvplot.image(x='lon', y='lat', z='air', title=time, clabel='T [C]')
Geographic Data#
By setting coastline=True
, we can add a coastline feature to the plot and coerce it to the proper aspect.
data.hvplot.image(coastline=True)