From 87c42b20e81f6b1579c0b693f66fdd47178946fe Mon Sep 17 00:00:00 2001 From: Martin Fleischmann Date: Thu, 12 Jun 2025 15:28:55 +0200 Subject: [PATCH 1/3] fix uncaught paths --- xvec/plotting.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/xvec/plotting.py b/xvec/plotting.py index e769986..1a13412 100644 --- a/xvec/plotting.py +++ b/xvec/plotting.py @@ -281,8 +281,18 @@ def _plot( cmap_params = {} # Handle simple case - single geometry with no faceting - if not col and isinstance(arr, xr.DataArray) and arr.ndim == 1: - arr.xvec.to_geodataframe(geometry=geometry).plot(arr.values, ax=axs, **kwargs) + if not col and isinstance(arr, xr.DataArray) and n_cols == 1 and n_rows == 1: + if arr.ndim == 2: + arr = arr.squeeze() + arr.xvec.to_geodataframe(geometry=geometry, name="plotting").plot( + arr.values, + ax=axs, + vmin=cmap_params.get("vmin", None), + vmax=cmap_params.get("vmax", None), + cmap=cmap_params.get("cmap", None), + categories=cmap_params.get("categories", None), + **kwargs, + ) axs.set_xlabel(x_label, fontsize="small") axs.set_ylabel(y_label, fontsize="small") @@ -298,7 +308,7 @@ def _plot( return fig, axs if not col and geometry in arr.xvec._geom_coords_all: - arr[geometry].drop_vars([geometry]).xvec.to_geodataframe().plot( + arr[geometry].drop_vars([geometry]).xvec.to_geodataframe(name="plotting").plot( ax=axs, **kwargs ) axs.set_xlabel(x_label, fontsize="small") From 84a04da2823d855d9f6a703ee451a0d84ceba39d Mon Sep 17 00:00:00 2001 From: Martin Fleischmann Date: Thu, 12 Jun 2025 15:37:09 +0200 Subject: [PATCH 2/3] test --- .../baseline_images/test_plotting/unnamed.png | Bin 0 -> 37339 bytes .../test_plotting/void_dimension.png | Bin 0 -> 37339 bytes xvec/tests/test_plotting.py | 31 ++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 xvec/tests/baseline_images/test_plotting/unnamed.png create mode 100644 xvec/tests/baseline_images/test_plotting/void_dimension.png diff --git a/xvec/tests/baseline_images/test_plotting/unnamed.png b/xvec/tests/baseline_images/test_plotting/unnamed.png new file mode 100644 index 0000000000000000000000000000000000000000..f1fe50a3d2bd96b559597931d7139b18a9ff303b GIT binary patch literal 37339 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 Hu0mjfssDua literal 0 HcmV?d00001 diff --git a/xvec/tests/baseline_images/test_plotting/void_dimension.png b/xvec/tests/baseline_images/test_plotting/void_dimension.png new file mode 100644 index 0000000000000000000000000000000000000000..f1fe50a3d2bd96b559597931d7139b18a9ff303b GIT binary patch literal 37339 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 Hu0mjfssDua literal 0 HcmV?d00001 diff --git a/xvec/tests/test_plotting.py b/xvec/tests/test_plotting.py index f10fc68..d6c2065 100644 --- a/xvec/tests/test_plotting.py +++ b/xvec/tests/test_plotting.py @@ -78,6 +78,37 @@ def test_1d(aggregated): assert ax.get_ylabel() == "Geodetic latitude\n[degree]" +@image_comparison( + baseline_images=["void_dimension"], extensions=["png"], style=[], tol=0.01 +) +def test_void_dimension(): + ds = xr.tutorial.open_dataset("eraint_uvz") + counties = gpd.read_file(geodatasets.get_path("geoda natregimes")).to_crs(4326) + + ds.sel(month=1, level=[200]).z.xvec.zonal_stats( + counties.geometry, + x_coords="longitude", + y_coords="latitude", + all_touched=True, + ).xvec.plot() + + +@image_comparison(baseline_images=["unnamed"], extensions=["png"], style=[], tol=0.01) +def test_unnamed(): + ds = xr.tutorial.open_dataset("eraint_uvz") + counties = gpd.read_file(geodatasets.get_path("geoda natregimes")).to_crs(4326) + + arr = ds.sel(month=1, level=[200]).z + arr.name = None + + arr.xvec.zonal_stats( + counties.geometry, + x_coords="longitude", + y_coords="latitude", + all_touched=True, + ).sel(level=200).xvec.plot() + + @image_comparison(baseline_images=["var_geom"], extensions=["png"], style=[], tol=0.01) def test_var_geom(glaciers): f, ax = glaciers.geometry.xvec.plot(col="year") From ca2b83a19399dbba59c36969840461aaaece18fc Mon Sep 17 00:00:00 2001 From: Martin Fleischmann Date: Thu, 12 Jun 2025 15:44:52 +0200 Subject: [PATCH 3/3] try with load --- xvec/tests/test_plotting.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xvec/tests/test_plotting.py b/xvec/tests/test_plotting.py index d6c2065..aeb39f6 100644 --- a/xvec/tests/test_plotting.py +++ b/xvec/tests/test_plotting.py @@ -82,7 +82,7 @@ def test_1d(aggregated): baseline_images=["void_dimension"], extensions=["png"], style=[], tol=0.01 ) def test_void_dimension(): - ds = xr.tutorial.open_dataset("eraint_uvz") + ds = xr.tutorial.open_dataset("eraint_uvz").load() counties = gpd.read_file(geodatasets.get_path("geoda natregimes")).to_crs(4326) ds.sel(month=1, level=[200]).z.xvec.zonal_stats( @@ -95,7 +95,7 @@ def test_void_dimension(): @image_comparison(baseline_images=["unnamed"], extensions=["png"], style=[], tol=0.01) def test_unnamed(): - ds = xr.tutorial.open_dataset("eraint_uvz") + ds = xr.tutorial.open_dataset("eraint_uvz").load() counties = gpd.read_file(geodatasets.get_path("geoda natregimes")).to_crs(4326) arr = ds.sel(month=1, level=[200]).z