In [1]:
import numpy as np
from iris.cube import Cube
from iris.coords import DimCoord

In [19]:
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

In [20]:
cube = create_cube()

In [21]:
x = cube.coord(axis='X')
x.guess_bounds()
x


Out[21]:
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'))

In [22]:
y = cube.coord(axis='Y')
y.guess_bounds()
y


Out[22]:
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'))

In [23]:
%matplotlib inline

import matplotlib.pyplot as plt
plt.pcolormesh(x.points, y.points, cube.data)


Out[23]:
<matplotlib.collections.QuadMesh at 0x7ff7a1fd5650>

In [24]:
import iris.quickplot as qplt

cs = qplt.pcolormesh(cube)



In [25]:
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)



In [25]:


In [ ]: