import numpy as np
from iris.cube import Cube
from iris.coords import DimCoord
def create_cube():
lon1d = np.arange(5)
lat1d = np.arange(4)
data = np.random.random((len(lat1d),len(lon1d)))
cube = Cube(data)
lon = DimCoord(lon1d, standard_name='longitude',
units='degrees', circular=False)
lat = DimCoord(lat1d, standard_name='latitude',
units='degrees')
cube.add_dim_coord(lon, 1)
cube.add_dim_coord(lat, 0)
return cube
cube = create_cube()
x = cube.coord(axis='X')
x.guess_bounds()
x
DimCoord(array([0, 1, 2, 3, 4]), bounds=array([[-0.5, 0.5], [ 0.5, 1.5], [ 1.5, 2.5], [ 2.5, 3.5], [ 3.5, 4.5]]), standard_name='longitude', units=Unit('degrees'))
y = cube.coord(axis='Y')
y.guess_bounds()
y
DimCoord(array([0, 1, 2, 3]), bounds=array([[-0.5, 0.5], [ 0.5, 1.5], [ 1.5, 2.5], [ 2.5, 3.5]]), standard_name='latitude', units=Unit('degrees'))
%matplotlib inline
import matplotlib.pyplot as plt
plt.pcolormesh(x.points, y.points, cube.data)
<matplotlib.collections.QuadMesh at 0x7ff7a1fd5650>
import iris.quickplot as qplt
cs = qplt.pcolormesh(cube)
import cartopy.crs as ccrs
from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter
fig, ax = plt.subplots(subplot_kw=dict(projection=ccrs.PlateCarree()))
cs = qplt.pcolormesh(cube)
ax.set_xticks(x.points, crs=ccrs.PlateCarree())
ax.set_yticks(y.points, crs=ccrs.PlateCarree())
lon_formatter = LongitudeFormatter(zero_direction_label=True)
lat_formatter = LatitudeFormatter()
ax.xaxis.set_major_formatter(lon_formatter)
ax.yaxis.set_major_formatter(lat_formatter)