Skip to content

Commit beb7e75

Browse files
fix plotting tests: the effective colorbar is not anymore necessarily at the first collection position
1 parent 6c9e4d4 commit beb7e75

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

climada/util/test/test_plot.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,9 @@ def test_geo_scatter_from_array(self):
100100
shapes=True, axes=None, proj=projection,
101101
figsize=(9, 13), cmap=cmap)
102102
self.assertEqual(var_name, ax.get_title())
103-
self.assertAlmostEqual(np.max(values), ax.collections[0].colorbar.vmax)
104-
self.assertAlmostEqual(np.min(values), ax.collections[0].colorbar.vmin)
103+
colorbar = next(x.colorbar for x in ax.collections if x.colorbar)
104+
self.assertAlmostEqual(np.max(values), colorbar.vmax)
105+
self.assertAlmostEqual(np.min(values), colorbar.vmin)
105106
self.assertEqual(cmap, ax.collections[0].cmap.name)
106107
plt.close()
107108

@@ -117,8 +118,9 @@ def test_geo_bin_from_array(self):
117118
shapes=True, axes=None, proj=projection,
118119
figsize=(9, 13), cmap=cmap)
119120
self.assertEqual(var_name, ax.get_title())
120-
self.assertAlmostEqual(np.max(values), ax.collections[0].colorbar.vmax)
121-
self.assertAlmostEqual(np.min(values), ax.collections[0].colorbar.vmin)
121+
colorbar = next(x.colorbar for x in ax.collections if x.colorbar)
122+
self.assertAlmostEqual(np.max(values), colorbar.vmax)
123+
self.assertAlmostEqual(np.min(values), colorbar.vmin)
122124
self.assertEqual(cmap, ax.collections[0].cmap.name)
123125
plt.close()
124126

@@ -132,17 +134,19 @@ def test_geo_im_from_array(self):
132134
ax = u_plot.geo_im_from_array(values, coord, var_name, title,
133135
proj=projection, smooth=True, axes=None, figsize=(9, 13), cmap=cmap)
134136
self.assertEqual(var_name, ax.get_title())
135-
self.assertAlmostEqual(np.max(values), ax.collections[0].colorbar.vmax)
136-
self.assertAlmostEqual(np.min(values), ax.collections[0].colorbar.vmin)
137+
colorbar = next(x.colorbar for x in ax.collections if x.colorbar)
138+
self.assertAlmostEqual(np.max(values), colorbar.vmax)
139+
self.assertAlmostEqual(np.min(values), colorbar.vmin)
137140
self.assertEqual(cmap, ax.collections[0].cmap.name)
138141
plt.close()
139142

140143
projection = ccrs.AzimuthalEquidistant()
141144
ax = u_plot.geo_im_from_array(values, coord, var_name, title,
142145
proj=projection, smooth=True, axes=None, figsize=(9, 13), cmap=cmap)
143146
self.assertEqual(var_name, ax.get_title())
144-
self.assertAlmostEqual(np.max(values), ax.collections[0].colorbar.vmax)
145-
self.assertAlmostEqual(np.min(values), ax.collections[0].colorbar.vmin)
147+
colorbar = next(x.colorbar for x in ax.collections if x.colorbar)
148+
self.assertAlmostEqual(np.max(values), colorbar.vmax)
149+
self.assertAlmostEqual(np.min(values), colorbar.vmin)
146150
self.assertEqual(cmap, ax.collections[0].cmap.name)
147151
plt.close()
148152

0 commit comments

Comments
 (0)