Skip to content

Instantly share code, notes, and snippets.

@ajdawson
Last active June 7, 2022 13:47
Show Gist options
  • Save ajdawson/dd536f786741e987ae4e to your computer and use it in GitHub Desktop.
Save ajdawson/dd536f786741e987ae4e to your computer and use it in GitHub Desktop.
Adding gridline labels to a cartopy Lambert Conformal projection plot
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#Labelling grid lines on a Lambert Conformal projection\n",
"\n",
"In response to the StackOverflow question here: http://stackoverflow.com/questions/27962953/cartopy-axis-label-workaround.\n",
"\n",
"Notes:\n",
"* The map boundary must be rectangular, otherwise the detection of which axis to label will be broken.\n",
"* Requires cartopy >= 0.12"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from copy import copy\n",
"\n",
"%matplotlib inline\n",
"import cartopy.crs as ccrs\n",
"from cartopy.mpl.gridliner import LATITUDE_FORMATTER, LONGITUDE_FORMATTER\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import shapely.geometry as sgeom"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def find_side(ls, side):\n",
" \"\"\"\n",
" Given a shapely LineString which is assumed to be rectangular, return the\n",
" line corresponding to a given side of the rectangle.\n",
" \n",
" \"\"\"\n",
" minx, miny, maxx, maxy = ls.bounds\n",
" points = {'left': [(minx, miny), (minx, maxy)],\n",
" 'right': [(maxx, miny), (maxx, maxy)],\n",
" 'bottom': [(minx, miny), (maxx, miny)],\n",
" 'top': [(minx, maxy), (maxx, maxy)],}\n",
" return sgeom.LineString(points[side])\n",
"\n",
"\n",
"def lambert_xticks(ax, ticks):\n",
" \"\"\"Draw ticks on the bottom x-axis of a Lambert Conformal projection.\"\"\"\n",
" te = lambda xy: xy[0]\n",
" lc = lambda t, n, b: np.vstack((np.zeros(n) + t, np.linspace(b[2], b[3], n))).T\n",
" xticks, xticklabels = _lambert_ticks(ax, ticks, 'bottom', lc, te)\n",
" ax.xaxis.tick_bottom()\n",
" ax.set_xticks(xticks)\n",
" ax.set_xticklabels([ax.xaxis.get_major_formatter()(xtick) for xtick in xticklabels])\n",
" \n",
"\n",
"def lambert_yticks(ax, ticks):\n",
" \"\"\"Draw ricks on the left y-axis of a Lamber Conformal projection.\"\"\"\n",
" te = lambda xy: xy[1]\n",
" lc = lambda t, n, b: np.vstack((np.linspace(b[0], b[1], n), np.zeros(n) + t)).T\n",
" yticks, yticklabels = _lambert_ticks(ax, ticks, 'left', lc, te)\n",
" ax.yaxis.tick_left()\n",
" ax.set_yticks(yticks)\n",
" ax.set_yticklabels([ax.yaxis.get_major_formatter()(ytick) for ytick in yticklabels])\n",
"\n",
"def _lambert_ticks(ax, ticks, tick_location, line_constructor, tick_extractor):\n",
" \"\"\"Get the tick locations and labels for an axis of a Lambert Conformal projection.\"\"\"\n",
" outline_patch = sgeom.LineString(ax.outline_patch.get_path().vertices.tolist())\n",
" axis = find_side(outline_patch, tick_location)\n",
" n_steps = 30\n",
" extent = ax.get_extent(ccrs.PlateCarree())\n",
" _ticks = []\n",
" for t in ticks:\n",
" xy = line_constructor(t, n_steps, extent)\n",
" proj_xyz = ax.projection.transform_points(ccrs.Geodetic(), xy[:, 0], xy[:, 1])\n",
" xyt = proj_xyz[..., :2]\n",
" ls = sgeom.LineString(xyt.tolist())\n",
" locs = axis.intersection(ls)\n",
" if not locs:\n",
" tick = [None]\n",
" else:\n",
" tick = tick_extractor(locs.xy)\n",
" _ticks.append(tick[0])\n",
" # Remove ticks that aren't visible: \n",
" ticklabels = copy(ticks)\n",
" while True:\n",
" try:\n",
" index = _ticks.index(None)\n",
" except ValueError:\n",
" break\n",
" _ticks.pop(index)\n",
" ticklabels.pop(index)\n",
" return _ticks, ticklabels"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n",
"ExwcTM2bNydXV1eJt8xmZ2eTuro6vXjxgpKTk0lRUZF++ukn2r17t9jOijt37tBff/1FRUVF1K5d\n",
"OwoLC2OufYonU5Eoz7t376YOHTpQZmYmxcTEEADauXMnc71r16508+ZNifv7HA8PD5o0aVKl2tYF\n",
"zpw5I1G9T47aW7dupVWrVn03/o8sIBAIxLaQHz9+XCzsxIMHD1iL2i5t4uLi2JYgM6A27U6SVQQC\n",
"ARUWFhIAateuHd27d49GjBhBgwcPrpRHenp6OrVv355WrlxJcXFxEoX/njRpEu3du7cy8iuESCQi\n",
"fX191uL1ZGZmUmZmJlO+ePEiPXr0iClHRERwW7jLIScnhyZOnChxvqPCwkJq2LAhlZaWUmRkJLVr\n",
"1+67bWbNmkXbt28XO+fi4kJbtmyRWGeXLl3EUm7812Bu3bo1vXjxQuL+Pu9nxIgRtHTp0gq3rSs8\n",
"ffr0u3VEIhETDiI7O5tiY2NJR0enBtRVjNu3b4vtUjt79iy9evWKRUUcbPAtI4ZbTpIAIoKjoyOa\n",
"Nm0KBQUFFBcX4+eff4aRkRF8fHwq7JHu5+cHCwsLODk5YeXKlUhISJBoSnPYsGGV2rFRUXg8HhYs\n",
"WIDZs2ejoKCgQm0jIyMZR7jKoqmpCU1NTaY8ZMgQWFtbi13/fJ361KlTiI6OZspPnjyRODR+XUNV\n",
"VRVHjx7Fs2fPJPrslJSUYGBggPj4eOTn56Nx48ZISkpilou+Ro8ePb5YtrKzs6tQ+HoiQmJiIlP+\n",
"3FkyMTER7969++ZyEp/Px82bN7Fnzx7cvXsXJSUlAD76PMTFxWHVqlUSa6lrfO6vVh537txBWloa\n",
"5s2bBzU1NRgbGyMzM7PSqUoqS3p6utiuqKCgINy/f58pt23bFm3atGHKI0aMQKtWrWpUI4eMU551\n",
"w8YBGZ2JefPmDenq6lJaWho9evSoSrEASktLycjIiPkVmpCQQFpaWhJNARcUFFDjxo2/ms5A2vD5\n",
"fJo6dSqZmZlVaEbmwoUL1ahKMqKioujdu3dM2dPTkxISEpjyy5cv63yWbnNzc3r27JlEde3t7enW\n",
"rVt09epVcnR0ZILTlUd+fj6pqKiI3YdLly6l9evXS6zv0aNHpK+vT6NGjfrimr+/PzVq1Ijs7Oxo\n",
"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\n",
"rkJggg==\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fd4902e4890>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Create a Lambert Conformal projection:\n",
"proj = ccrs.LambertConformal(central_longitude=13.3333, central_latitude=47.5,\n",
" false_easting=400000, false_northing=400000,\n",
" standard_parallels=(46, 49))\n",
"\n",
"# Draw a set of axes with coastlines:\n",
"fig = plt.figure(figsize=(9, 9), frameon=True)\n",
"ax = fig.add_axes([0.08, 0.05, 0.8, 0.94], projection=proj)\n",
"ax.set_extent([-5, 31, 42, 55], crs=ccrs.PlateCarree())\n",
"ax.coastlines(resolution='50m')\n",
"\n",
"# *must* call draw in order to get the axis boundary used to add ticks:\n",
"fig.canvas.draw()\n",
"\n",
"# Define gridline locations and draw the lines using cartopy's built-in gridliner:\n",
"xticks = [-110, -50, -40, -30, -20, -11, 0, 10, 20, 30, 40, 50]\n",
"yticks = [10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80]\n",
"ax.gridlines(xlocs=xticks, ylocs=yticks)\n",
"\n",
"# Label the end-points of the gridlines using the custom tick makers:\n",
"ax.xaxis.set_major_formatter(LONGITUDE_FORMATTER) \n",
"ax.yaxis.set_major_formatter(LATITUDE_FORMATTER)\n",
"lambert_xticks(ax, xticks)\n",
"lambert_yticks(ax, yticks)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.9"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
@polair
Copy link

polair commented Oct 18, 2019

For the record, this works on stereographic projections as well. Thank you so much for this code... made the transition to NCL for a few things much cleaner.

@rabernat
Copy link

FYI, labeling grid lines is now supported on any cartopy projection as of cartopy v0.18. See https://twitter.com/QuLogic/status/1257148289838911488

@hepengz
Copy link

hepengz commented Apr 13, 2021

amazing!

Modifying gridlines:

ax.gridlines(xlocs=xticks, ylocs=yticks, draw_labels=False, linewidth=0.5, color='k', alpha=0.5, linestyle='--')

Modifying tic_params:

ax.tick_params(axis='both',labelsize=6,direction='out',right=False,top=False)

@marinadmo
Copy link

That worked great! Thanks!
I just received the warning indicated below, let me know if this has been updated!
:50: DeprecationWarning: The outline_patch property is deprecated. Use GeoAxes.spines['geo'] or the default Axes properties instead.
outline_patch = sgeom.LineString(ax.outline_patch.get_path().vertices.tolist())

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment