Skip to content

Commit 7d19432

Browse files
committed
Add example of multiple plots in one figure
1 parent b58e625 commit 7d19432

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

examples/plot-two-subplots.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
"""
2+
============================
3+
Multiple plots in one figure
4+
============================
5+
"""
6+
7+
from matplotlib import pyplot
8+
import emsarray
9+
from emsarray.utils import datetime_from_np_time
10+
from emsarray.plot import add_coast
11+
12+
ds = emsarray.tutorial.open_dataset('austen')
13+
upper_frame = ds.isel(record=0)
14+
lower_frame = ds.isel(record=23)
15+
16+
figure = pyplot.figure(figsize=(7, 10), layout='constrained')
17+
figure.suptitle("Sea surface height in the Timor Sea")
18+
upper_axes, lower_axes = figure.subplots(2, 1, subplot_kw=dict(projection=ds.ems.data_crs))
19+
20+
upper_artist = ds.ems.make_artist(
21+
upper_axes, upper_frame['eta'], clim=(-3, 3), cmap='BrBG', add_colorbar=False)
22+
lower_artist = ds.ems.make_artist(
23+
lower_axes, lower_frame['eta'], clim=(-3, 3), cmap='BrBG', add_colorbar=False)
24+
25+
# This roughly encompases the Timor Sea
26+
extent = (124.38, 135.15, -17.0, -8.0)
27+
28+
add_coast(upper_axes)
29+
upper_time = datetime_from_np_time(upper_frame['t'].values)
30+
upper_axes.set_title(upper_time.strftime("%Y-%m-%d %H:%M +10:00"))
31+
upper_axes.set_extent(extent)
32+
33+
add_coast(lower_axes)
34+
lower_time = datetime_from_np_time(lower_frame['t'].values)
35+
lower_axes.set_title(lower_time.strftime("%Y-%m-%d %H:%M +10:00"))
36+
lower_axes.set_extent(extent)
37+
38+
figure.colorbar(
39+
lower_artist, ax=[upper_axes, lower_axes],
40+
location='right', fraction=0.05, label='meters')
41+
42+
pyplot.show()

0 commit comments

Comments
 (0)