Simple Plotting of Fronts#

This uses MetPy’s path effects for matplotlib that can be used to represent a line as a traditional front. This example relies on already having location information for the boundaries you would like to plot.

import matplotlib.pyplot as plt
import numpy as np

from metpy.plots import ColdFront, WarmFront

Define some synthetic points to represent the low pressure system and its frontal boundaries.

low_lon, low_lat = -94, 32
cold_lat = np.linspace(low_lat - 0.15, low_lat - 1.75, 100)
cold_lon = (low_lon + 0.25) - (cold_lat - (low_lat - 0.5))**2

warm_lon = np.linspace(low_lon + 0.3, low_lon + 5, 100)
warm_lat = (low_lat + 0.3) - (warm_lon - (low_lon + 2))**2 / 12

Draw the low as an “L” using matplotlib’s text() method, then plot the fronts as standard lines, but add our path effects.

fig, ax = plt.subplots(figsize=(8, 8), dpi=150)
ax.text(low_lon, low_lat, 'L', color='red', size=30,
        horizontalalignment='center', verticalalignment='center')
ax.plot(cold_lon, cold_lat, 'blue', path_effects=[ColdFront(size=8, spacing=1.5)])
ax.plot(warm_lon, warm_lat, 'red', path_effects=[WarmFront(size=8, spacing=1.5)])
plt.show()
Simple Fronts Plot

Total running time of the script: (0 minutes 0.134 seconds)

Gallery generated by Sphinx-Gallery