From ee2ffbd662ca4571188aab98799731a67281cc6d Mon Sep 17 00:00:00 2001 From: Hassan Kibirige Date: Mon, 15 Jun 2026 13:40:22 +0300 Subject: [PATCH 1/2] refactor(inset): normalise inset image input to a PIL Image --- plotnine/composition/_inset_image.py | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/plotnine/composition/_inset_image.py b/plotnine/composition/_inset_image.py index 3d3ef7525..7d16c435d 100644 --- a/plotnine/composition/_inset_image.py +++ b/plotnine/composition/_inset_image.py @@ -4,6 +4,7 @@ from typing import TYPE_CHECKING, Literal import numpy as np +from PIL import Image from PIL.Image import Image as PILImage from ..themes.theme import theme @@ -70,8 +71,8 @@ def __init__( ): from matplotlib.transforms import Bbox - self._image = image - self._image_size = _image_size(image) # (W, H) px + self._image = _to_pil_image(image) + self._image_size = self._image.size # (W, H) px self._frac_bbox = Bbox.unit() self._anchor = _resolve_anchor(anchor) self.theme = theme() @@ -150,16 +151,22 @@ def _draw_plot_background(self): self.theme.targets.plot_background = self.patch -def _image_size(obj: PILImage | np.ndarray) -> tuple[int, int]: +def _to_pil_image(obj: PILImage | np.ndarray) -> PILImage: """ - Return the (width, height) of a PIL image or ndarray in pixels + Normalise an image input to a PIL Image for resampling + + A `PIL.Image` is returned unchanged. A uint8 ndarray (L / RGB / + RGBA) is wrapped directly. A float ndarray follows matplotlib's + `[0, 1]` convention and is clipped then scaled to uint8; the final + inset output is an 8-bit raster regardless, so nothing visible is + lost. """ if isinstance(obj, PILImage): - return obj.size # PIL exposes (W, H) - + return obj arr = np.asarray(obj) - h, w = arr.shape[:2] # ndarray is HWC or HW - return w, h + if arr.dtype != np.uint8: + arr = (np.clip(arr, 0, 1) * 255).round().astype(np.uint8) + return Image.fromarray(arr) # Named anchors → (h, v) fractions in [0, 1]², where `h = 0` From fecdbfb8f137b987c7763bdc359d644765720584 Mon Sep 17 00:00:00 2001 From: Hassan Kibirige Date: Mon, 15 Jun 2026 15:49:46 +0300 Subject: [PATCH 2/2] feat(inset): resample image insets to device pixels with PIL Pre-resize the source to the inset's exact device-pixel footprint with PIL and render it pixel-for-pixel (interpolation='none'), instead of letting matplotlib resample the full-resolution image. Downscale with LANCZOS to antialias (matplotlib's resampler aliases on large reductions); enlarge with NEAREST to stay crisp (smooth filters look hazy and ring on hard edges). --- plotnine/composition/_inset_image.py | 37 ++++++++++++++++-- .../image_aspect_fit_bottom.png | Bin 2387 -> 2387 bytes .../image_aspect_fit_top_right.png | Bin 14427 -> 16524 bytes .../test_inset_element/image_standalone.png | Bin 11591 -> 13447 bytes 4 files changed, 33 insertions(+), 4 deletions(-) diff --git a/plotnine/composition/_inset_image.py b/plotnine/composition/_inset_image.py index 7d16c435d..2df9e66e3 100644 --- a/plotnine/composition/_inset_image.py +++ b/plotnine/composition/_inset_image.py @@ -11,6 +11,7 @@ if TYPE_CHECKING: from matplotlib.figure import Figure + from matplotlib.image import BboxImage from matplotlib.patches import Rectangle from matplotlib.transforms import Bbox @@ -63,6 +64,10 @@ class _InsetImage: # ratio doesn't match. _anchor: tuple[float, float] + # BboxImage artist created in draw(); its data is updated by + # _arrange_in_box once the layout engine computes the final bbox. + _image_artist: BboxImage + def __init__( self, image: PILImage | np.ndarray, @@ -107,6 +112,8 @@ def _arrange_in_box( Fractional figure-coordinates of the box assigned to this inset by `inset_element.align_to`. """ + from matplotlib.transforms import TransformedBbox + l, b, r, t = _fit_aspect( left, bottom, @@ -119,6 +126,26 @@ def _arrange_in_box( self._frac_bbox.bounds = (l, b, r - l, t - b) # pyright: ignore[reportAttributeAccessIssue] self.patch.set_bounds(left, bottom, right - left, top - bottom) + # The layout engine has finalised the bbox, so its device-pixel + # size is now known. _fit_aspect preserves the source aspect, so + # both axes scale by the same factor. + source_w, source_h = self._image_size + tbox = TransformedBbox(self._frac_bbox, self.figure.transFigure) + tw = max(1, round(tbox.width)) + th = max(1, round(tbox.height)) + downscaling = tw < source_w and th < source_h + + # LANCZOS to shrink: it antialiases the downscale. + # Not LANCZOS to enlarge: it looks hazy and rings badly on + # hard edges, so NEAREST. + if downscaling: + resampling = Image.Resampling.LANCZOS + else: + resampling = Image.Resampling.NEAREST + + resized = self._image.resize((tw, th), resampling) + self._image_artist.set_data(np.asarray(resized)) + def draw(self): from matplotlib.image import BboxImage from matplotlib.transforms import TransformedBbox @@ -128,11 +155,13 @@ def draw(self): self.theme._setup(self) # pyright: ignore[reportArgumentType] self._draw_plot_background() - image_artist = BboxImage( - TransformedBbox(self._frac_bbox, self.figure.transFigure) + tbox = TransformedBbox(self._frac_bbox, self.figure.transFigure) + # The image data is set later by _arrange_in_box, once the layout + # engine has computed the final device-pixel dimensions. + self._image_artist = BboxImage( + tbox, interpolation="none", resample=False ) - image_artist.set_data(np.asarray(self._image)) - self.figure.add_artist(image_artist) + self.figure.add_artist(self._image_artist) self.theme.apply() diff --git a/tests/baseline_images/test_inset_element/image_aspect_fit_bottom.png b/tests/baseline_images/test_inset_element/image_aspect_fit_bottom.png index 2b6836d7d00fb2786b7ce22eb0e00c47e6e91a25..690eacc4ed23e8090a05893e50a008ded423d4b4 100644 GIT binary patch delta 59 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 WpOHZ!zwk5w{ZUp>gBQ!01pN;?`UhwL diff --git a/tests/baseline_images/test_inset_element/image_standalone.png b/tests/baseline_images/test_inset_element/image_standalone.png index cd8c53adcb5a9e3e9cbb2d5545a9f0e881fcb27b..6a30d570a4a9eb364a67d580d6bcb70e693e4673 100644 GIT binary patch literal 13447 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 S`1hyZLY9+KmaGyt4*nkk-!_E+