From 96d12da08dd3275d5aadee116f34cae94b89d69c Mon Sep 17 00:00:00 2001 From: kgoebber Date: Sat, 6 Jan 2024 16:27:26 -0600 Subject: [PATCH 1/3] Fix Plot Geometry Colorfills --- src/metpy/plots/declarative.py | 2 +- .../test_declarative_plot_geometry_fills.png | Bin 0 -> 75344 bytes tests/plots/test_declarative.py | 36 ++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 tests/plots/baseline/test_declarative_plot_geometry_fills.png diff --git a/src/metpy/plots/declarative.py b/src/metpy/plots/declarative.py index 7dd31a9fc46..5f5cd9c668d 100644 --- a/src/metpy/plots/declarative.py +++ b/src/metpy/plots/declarative.py @@ -1938,12 +1938,12 @@ def _build(self): else self.label_edgecolor) self.label_facecolor = (['none'] if self.label_facecolor is None else self.label_facecolor) - kwargs = self.mpl_args # Each Shapely object is plotted separately with its corresponding colors and label for geo_obj, stroke, strokewidth, fill, label, fontcolor, fontoutline in zip( self.geometry, cycle(self.stroke), cycle(self.stroke_width), cycle(self.fill), cycle(self.labels), cycle(self.label_facecolor), cycle(self.label_edgecolor)): + kwargs = self.mpl_args.copy() # Plot the Shapely object with the appropriate method and colors if isinstance(geo_obj, (MultiPolygon, Polygon)): kwargs.setdefault('edgecolor', stroke) diff --git a/tests/plots/baseline/test_declarative_plot_geometry_fills.png b/tests/plots/baseline/test_declarative_plot_geometry_fills.png new file mode 100644 index 0000000000000000000000000000000000000000..6edf4fba65fa4544706d9c95848f5864cf5e7ae9 GIT binary patch literal 75344 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

ZT!Gai5J8?7(gDAaaY#$i$(SuvUzp_@ax6D1xeM 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 literal 0 HcmV?d00001 diff --git a/tests/plots/test_declarative.py b/tests/plots/test_declarative.py index 407736a25bd..e1ba4b26c68 100644 --- a/tests/plots/test_declarative.py +++ b/tests/plots/test_declarative.py @@ -2133,6 +2133,42 @@ def test_declarative_plot_geometry_lines(ccrs): return pc.figure +@pytest.mark.mpl_image_compare(remove_text=False, tolerance=2.985) +def test_declarative_plot_geometry_fills(ccrs): + """Test that `PlotGeometry` correctly plots MultiLineString and LineString objects.""" + from shapely.geometry import MultiPolygon, Polygon + + # MultiPolygons and Polygons to plot + mdt_risk_polygon = Polygon( + [(-87.07, 31.68), (-88.65, 30.96), (-91.83, 30.52), (-92.83, 30.82), (-93.18, 31.77), + (-92.65, 33.31), (-92.64, 35.22), (-91.74, 36.16), (-88.84, 35.53), (-86.13, 34.5), + (-85.45, 33.01), (-86, 32.05), (-87.07, 31.68)]) + high_risk_polygon = Polygon( + [(-91.88, 32.99), (-89.82, 34.4), (-88.19, 34.21), (-87.72, 33.46), (-88.23, 32.48), + (-90.53, 32), (-91.74, 32.07), (-91.88, 32.99)]) + + # Plot geometry, set colors and labels + geo = PlotGeometry() + geo.geometry = [mdt_risk_polygon, high_risk_polygon] + geo.fill = ['#E06666', '#EE99EE'] + geo.stroke = ['#E06666', '#EE99EE'] + geo.labels = None + + # Place plot in a panel and container + panel = MapPanel() + panel.area = [-120, -75, 25, 50] + panel.projection = 'lcc' + panel.title = ' ' + panel.plots = [geo] + + pc = PanelContainer() + pc.size = (12, 12) + pc.panels = [panel] + pc.draw() + + return pc.figure + + @pytest.mark.mpl_image_compare(remove_text=False, tolerance=1.900) def test_declarative_plot_geometry_points(ccrs): """Test that `PlotGeometry` correctly plots Point and MultiPoint objects.""" From df53f9ce18cbb1454a3598d32cd8f48f5de7bede Mon Sep 17 00:00:00 2001 From: kgoebber Date: Sun, 7 Jan 2024 16:14:34 -0600 Subject: [PATCH 2/3] remove uneeded import in test --- tests/plots/test_declarative.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/plots/test_declarative.py b/tests/plots/test_declarative.py index e1ba4b26c68..9ac6d1e3a3c 100644 --- a/tests/plots/test_declarative.py +++ b/tests/plots/test_declarative.py @@ -2136,7 +2136,7 @@ def test_declarative_plot_geometry_lines(ccrs): @pytest.mark.mpl_image_compare(remove_text=False, tolerance=2.985) def test_declarative_plot_geometry_fills(ccrs): """Test that `PlotGeometry` correctly plots MultiLineString and LineString objects.""" - from shapely.geometry import MultiPolygon, Polygon + from shapely.geometry import Polygon # MultiPolygons and Polygons to plot mdt_risk_polygon = Polygon( From 51c9a3e8d2e7c19a57dbb794426b9cdcb726792f Mon Sep 17 00:00:00 2001 From: kgoebber Date: Tue, 9 Jan 2024 18:04:15 -0600 Subject: [PATCH 3/3] update test threshold --- tests/plots/test_declarative.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/plots/test_declarative.py b/tests/plots/test_declarative.py index 9ac6d1e3a3c..6093ea361ad 100644 --- a/tests/plots/test_declarative.py +++ b/tests/plots/test_declarative.py @@ -2133,7 +2133,7 @@ def test_declarative_plot_geometry_lines(ccrs): return pc.figure -@pytest.mark.mpl_image_compare(remove_text=False, tolerance=2.985) +@pytest.mark.mpl_image_compare(remove_text=False, tolerance=0.013) def test_declarative_plot_geometry_fills(ccrs): """Test that `PlotGeometry` correctly plots MultiLineString and LineString objects.""" from shapely.geometry import Polygon