v4.10.0
[4.10.0] - 2026-05-20
Added
-
ggdeck()— a new function for overlaying multiple independent plots in a single unified view.In a typical scenario, one axis is shared by all plots in the deck, enabling dual-axis effects and multivariate comparisons.
See examples:
-
Datetime:
%fformatting pattern — support for milliseconds when formatting datetime values, zero-padded to 3 digits [#1482].See: example notebook.
-
In legends:
-
override_aesinguide_legend()can now customize filled 2D legend keys:sizecontrols the key border width;widthandheightcontrol the relative key size.
See: example notebook.
-
-
Indication of removed records [LPK-81], [#686].
When records in data are dropped by active sampling or because they contain missing or out-of-bounds values, the user is now informed of the number of dropped records and the reason they were dropped.
The new
na_rmparameter ingeom_xxx()andstat_xxx()functions controls the display of such messages:na_rm=false(default) — records are removed and messages are shown;na_rm=true— records are removed silently.
See: example notebook.
-
Alpha (transparency) component:
- Hex colors accept
#RRGGBBAAor#RGBAnotation. - Colors accept an opacity suffix in the form
"named color / opacity", for example"steelblue / 0.35".
See: example notebook.
- Hex colors accept
-
Facet strip labels now honor
angleinelement_text()forstrip_text_*[#1383].Thanks to a contribution by tentrillion.
See: example notebook.
-
In
geom_imshow(), new parameters for controlling the colorbar breaks and labels [#1486]:breaks,labels,lablim,format
-
geom_livemap(): the newinteractiveparameter controls map interactivity. Setinteractive=Falseto disable panning and zooming and hide map controls.See: example notebook.
-
Memo for Kotlin API users:
Changed
-
[BREAKING] Dropped support for Python 3.9 as it is in the "end-of-life" of its release cycle. The minimum supported Python version is now 3.10.
-
Swing-Batik components are deprecated. Use the Swing/AWT components instead (doesn't affect Python users).
Fixed
- Add 'synchronized tooltips' feature [#1415].
- Alpha is not supported in element_text() [#1462].
- scale_alpha: conflict of constant and mapped values of alpha aesthetic [#706].
- geom_imshow(): should render transparency for NaNs when all other pixel values are identical [#1485].
scale_color_gradient():guide='legend'is rendered as a colorbar [#1489].