|
1 | 1 | import io |
2 | 2 | from types import SimpleNamespace |
| 3 | +from datetime import datetime |
3 | 4 |
|
4 | 5 | import numpy as np |
5 | 6 | from numpy.testing import assert_array_equal, assert_array_almost_equal |
@@ -1181,3 +1182,22 @@ def test_set_offset_units(): |
1181 | 1182 | off0 = sc.get_offsets() |
1182 | 1183 | sc.set_offsets(list(zip(y, d))) |
1183 | 1184 | np.testing.assert_allclose(off0, sc.get_offsets()) |
| 1185 | + |
| 1186 | + |
| 1187 | +@image_comparison(baseline_images=["test_check_masked_offsets"], |
| 1188 | + extensions=["png"], remove_text=True, style="mpl20") |
| 1189 | +def test_check_masked_offsets(): |
| 1190 | + # Check if masked data is respected by scatter |
| 1191 | + # Ref: Issue #24545 |
| 1192 | + unmasked_x = [ |
| 1193 | + datetime(2022, 12, 15, 4, 49, 52), |
| 1194 | + datetime(2022, 12, 15, 4, 49, 53), |
| 1195 | + datetime(2022, 12, 15, 4, 49, 54), |
| 1196 | + datetime(2022, 12, 15, 4, 49, 55), |
| 1197 | + datetime(2022, 12, 15, 4, 49, 56), |
| 1198 | + ] |
| 1199 | + |
| 1200 | + masked_y = np.ma.array([1, 2, 3, 4, 5], mask=[0, 1, 1, 0, 0]) |
| 1201 | + |
| 1202 | + fig, ax = plt.subplots() |
| 1203 | + ax.scatter(unmasked_x, masked_y) |
0 commit comments