From 8487bdfebe3b21928676739c72ad728be99e8463 Mon Sep 17 00:00:00 2001 From: kgoebber Date: Sun, 27 Jul 2025 13:27:21 -0500 Subject: [PATCH] adds extrema plotting to declarative --- src/metpy/plots/declarative.py | 131 +++++++++++++++++- .../baseline/test_declarative_extrema.png | Bin 0 -> 66654 bytes .../baseline/test_declarative_nam_extrema.png | Bin 0 -> 57606 bytes tests/plots/test_declarative.py | 69 ++++++++- 4 files changed, 195 insertions(+), 5 deletions(-) create mode 100644 tests/plots/baseline/test_declarative_extrema.png create mode 100644 tests/plots/baseline/test_declarative_nam_extrema.png diff --git a/src/metpy/plots/declarative.py b/src/metpy/plots/declarative.py index efa2f6c1566..3ece88d5d00 100644 --- a/src/metpy/plots/declarative.py +++ b/src/metpy/plots/declarative.py @@ -23,7 +23,7 @@ from .patheffects import ColdFront, OccludedFront, StationaryFront, WarmFront from .station_plot import StationPlot from .text import scattertext, TextCollection -from ..calc import reduce_point_density, smooth_n_point, zoom_xarray +from ..calc import find_peaks, reduce_point_density, smooth_n_point, zoom_xarray from ..package_tools import Exporter from ..units import units @@ -1032,7 +1032,7 @@ class ContourPlot(PlotScalar, ContourTraits, ValidationMixin): black. This trait can be set to any Matplotlib color - (https://matplotlib.org/3.1.0/gallery/color/named_colors.html) + (https://matplotlib.org/stable/gallery/color/named_colors.html) """ linewidth = Int(2) @@ -1170,7 +1170,7 @@ class PlotVector(Plots2D): black. This trait can be set to any named color from - `Matplotlibs Colors ` + `Matplotlibs Colors ` """ @observe('field') @@ -1385,6 +1385,131 @@ def _build(self): self.parent.ax.quiverkey(self.handle, labelcolor=self.color, **key_kwargs) +@exporter.export +class PlotExtrema(PlotScalar, MetPyHasTraits, ValidationMixin): + """Plot maximum and/or minimum symbols and values of gridded datasets.""" + + peaks = List(default_value=['maxima']) + peaks.__doc__ = """A list of strings indicating which extrema to plot. + The default value is ['maxima']. + + The only valid strings are 'maxima' and 'minima' for this attribute. + + See Also + -------- + metpy.calc.find_peaks + """ + + peak_ratio = List(default_value=[2.0]) + peak_ratio.__doc__ = """A list of float values for the inerquartile range ratio. + The default value is [2.0]. + + This ratio value is an optional setting for the find_peaks function that uses the + inner-quartile range to create a threshold for persistence of local peaks. + """ + + symbol = List(default_value=['H']) + symbol.__doc__ = """A list of strings representing the extrema being plotted. + The default value is ['H']. + + This can be set to any string you wish to plot at the extrema point. For example, use + 'L' to signify a pressure minima. + """ + + symbol_size = List(default_value=[20.0]) + symbol_size.__doc__ = """A list of float values setting the size of the extrema symbol. + The default value is [20.0]. + + The value of the float will set the size of the symbol with larger values generating + a larger symbol. + """ + + symbol_color = List(default_value=['black']) + symbol_color.__doc__ = """A list of strings representing the color of the symbol. + The default value is ['black']. + + This trait can be set to any named color from + `Matplotlibs Colors ` + """ + + plot_value = List(default_value=[False]) + plot_value.__doc__ = """A list of booleans representing whether to plot the numeric + extrema integer value. The default value is [False]. + + This parameter controls plotting the numeric local maxima or minima value in + addition to the extrema symbol. + """ + + text_size = List(default_value=[12]) + text_size.__doc__ = """A list of float values setting the text size of the extrema value. + The default value is [12.0]. + """ + + text_location = List(default_value=['bottom']) + text_location.__doc__ = """A list of strings representing the vertical alignment for + plotting the extrema value text. The default value is ['bottom']. + + The available options are 'baseline', 'bottom', 'center', 'center_baseline', 'top'. + """ + + @observe('peak', 'peak_ratio', 'symbol', 'symbol_size', 'symbol_color', 'plot_value', + 'text_size', 'text_location') + def _set_need_rebuild(self, _): + """Handle changes to attributes that need to regenerate everything.""" + # Because matplotlib doesn't let you just change these properties, we need + # to trigger a clear and re-call of scattertext() + self.clear() + + def _build(self): + """Build the raster plot by calling any plotting methods as necessary.""" + x_like, y_like, imdata = self.plotdata + + kwargs = plot_kwargs(imdata, self.mpl_args) + + for i, extreme in enumerate(self.peaks): + peak_ratio = self.peak_ratio[i] if len(self.peak_ratio) > 1 else self.peak_ratio[0] + + if extreme == 'minima': + extrema_y, extrema_x = find_peaks(imdata.values, maxima=False, + iqr_ratio=peak_ratio) + elif extreme == 'maxima': + extrema_y, extrema_x = find_peaks(imdata.values, iqr_ratio=peak_ratio) + + plot_value = self.plot_value[i] if len(self.plot_value) > 1 else self.plot_value[0] + + location = 'top' if plot_value else 'center' + + symbol = self.symbol[i] if len(self.symbol) > 1 else self.symbol[0] + + if len(self.symbol_color) > 1: + color = self.symbol_color[i] + else: + color = self.symbol_color[0] + + if len(self.symbol_size) > 1: + symbol_size = self.symbol_size[i] + else: + symbol_size = self.symbol_size[0] + + text_size = self.text_size[i] if len(self.text_size) > 1 else self.text_size[0] + + if len(self.text_location) > 1: + text_loc = self.text_location[i] + else: + text_loc = self.text_location[0] + + scattertext(self.parent.ax, x_like[extrema_x], y_like[extrema_y], symbol, + color=color, size=int(symbol_size), + verticalalignment=location, clip_on=True, **kwargs) + + if plot_value: + scattertext(self.parent.ax, x_like[extrema_x], y_like[extrema_y], + imdata.values[extrema_y, extrema_x], + color=color, size=int(text_size), + verticalalignment=text_loc, formatter='.0f', + clip_on=True, **kwargs) + + @exporter.export class PlotObs(MetPyHasTraits, ValidationMixin): """The highest level class related to plotting observed surface and upperair data. diff --git a/tests/plots/baseline/test_declarative_extrema.png b/tests/plots/baseline/test_declarative_extrema.png new file mode 100644 index 0000000000000000000000000000000000000000..cdbaf18ff3be98f0ca6ab7ecdf2d3dba9cbd7e3c GIT binary patch literal 66654 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

9G=nE@ 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

}hpw=H<~83rUY2O~9QI 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

vJWGP#q-ayhEZ0#zhJda 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 literal 0 HcmV?d00001 diff --git a/tests/plots/test_declarative.py b/tests/plots/test_declarative.py index 93a43c2c8f0..092a3e4f23a 100644 --- a/tests/plots/test_declarative.py +++ b/tests/plots/test_declarative.py @@ -20,8 +20,8 @@ from metpy.io import GiniFile, parse_wpc_surface_bulletin from metpy.io.metar import parse_metar_file from metpy.plots import (ArrowPlot, BarbPlot, ContourPlot, FilledContourPlot, ImagePlot, - MapPanel, PanelContainer, PlotGeometry, PlotObs, PlotSurfaceAnalysis, - RasterPlot) + MapPanel, PanelContainer, PlotExtrema, PlotGeometry, PlotObs, + PlotSurfaceAnalysis, RasterPlot) from metpy.testing import needs_cartopy, version_check from metpy.units import units @@ -1204,6 +1204,71 @@ def test_declarative_barb_gfs_knots(): return pc.figure +@pytest.mark.mpl_image_compare(remove_text=True, tolerance=0.019) +@needs_cartopy +def test_declarative_extrema(): + """Test plotting gridded extrema points.""" + data = xr.open_dataset(get_test_data('GFS_test.nc', as_file_obj=False)) + + extrema = PlotExtrema() + extrema.data = data + extrema.level = 850 * units.hPa + extrema.field = 'Geopotential_height_isobaric' + extrema.peaks = ['minima', 'maxima'] + extrema.symbol = ['L', 'H'] + extrema.symbol_color = ['tab:red', 'tab:blue'] + extrema.symbol_size = ['30', '25'] + extrema.plot_value = [True, False] + extrema.text_size = [14, 10] + extrema.text_location = ['baseline'] + + panel = MapPanel() + panel.area = 'uslcc-' + panel.projection = 'lcc' + panel.layers = ['coastline', 'borders'] + panel.plots = [extrema] + + pc = PanelContainer() + pc.size = (8, 8) + pc.panels = [panel] + pc.draw() + + return pc.figure + + +@pytest.mark.mpl_image_compare(remove_text=True, tolerance=0.019) +@needs_cartopy +def test_declarative_nam_extrema(): + """Test plotting gridded extrema points.""" + data = xr.open_dataset(get_test_data('NAM_test.nc', as_file_obj=False)) + + extrema = PlotExtrema() + extrema.data = data + extrema.level = 850 * units.hPa + extrema.field = 'Geopotential_height_isobaric' + extrema.peaks = ['minima'] + extrema.peak_ratio = [3] + extrema.symbol = ['L'] + extrema.symbol_color = ['red'] + extrema.plot_value = [False] + extrema.text_location = ['bottom', 'baseline'] + + panel = MapPanel() + panel.area = 'uslcc' + panel.projection = 'lcc' + panel.layers = ['coastline', 'borders'] + panel.plots = [extrema] + + pc = PanelContainer() + pc.size = (8, 8) + pc.panels = [panel] + pc.draw() + + extrema.symbol_color = ['black'] + + return pc.figure + + @pytest.fixture() def sample_obs(): """Generate sample observational data for testing."""