Releases: JetBrains/lets-plot
v4.5.2
[4.5.2] - 2024-12-13
Changed
- Number formatting:
- We have aligned our specifications with D3.js (rather than Python):
g
format type with~
(e.g.~g
) now truncates trailing zeros, and without~
it doesn't. - The default number formatter now respects
theme(exponent_format=...)
settings and does not use 's' format type for large numbers.
- We have aligned our specifications with D3.js (rather than Python):
- Legends with more than 200 items are now not rendered.
Fixed
- Bad precision in the default tooltip format when using coord limits [#1134].
- Display integer values without fractional part in tooltips [#1186].
- Suboptimal tooltip positioning in facets [#1187].
- Incorrect Y-axis layout with facets and panel_inset [#1194].
- Grouped plot hits the limit of 1000 and doesn't render with not-friendly exception [#1224].
- Kandy toPNG reports NullPointerException [#1228]
- lets_plot_kotlin_bridge is unable to locate libc++.1.dylib, I am using Mac m2 [#1234].
- Wrong formatting when type='g' for small values [#1238].
- Formatting when type='g' for large values throws exception [#1239].
- Wrong formatting when type='s' with explicit precision [#1240].
- Extra trim in formatted number when type='g' [#1241].
- Axis breaks are badly formatted if explicitly set [#1245].
- Badly formatted zero break for the "~g" format [#1246].
- How to adjust the vertical position of geom_text when using position_dodge [#1248].
- Incorrect result for format(9.999, ".2f") [#1251].
- Tooltips overlapping when not enough vertical space for them [#1254].
- Plot limited to 1000 lines (Internal error: IllegalStateException : Too many groups: 1099) [#1261].
- Nice to have tooltip to inherit formatting configured for axis [LPK-229].
v4.5.1
[4.5.1] - 2024-10-25
Changed
- Interact refinement:
- Dragging the plot or Livemap disables the pinned tooltip mode.
- Double-clicking the plot or Livemap disables the pinned tooltip mode.
- Ctrl + double-clicking the Livemap zooms in without the blinking fade-in effect.
Fixed
- Buttons alignment in the toolbar.
- Wheel zooming-out a plot with log positional scales crashes fast.
v4.5.0
[4.5.0] - 2024-10-23
Added
-
Python 3.13 support
-
ggtb()
: enable zoom/pan interactivity on plot [#983],[#1019]See example notebook.
-
Interactive links in tooltips/labels/texts [#1091].
See example notebook.
-
Formatting:
-
LaTeX support: superscript, subscript ([#861]) and Greek letters ([#960]).
See example notebook.
-
Scientific notation: compact form. Enable the compact form using the
exponent_format
parameter intheme()
[#1071].See example notebook.
[WARNING] Subscripts and superscripts are not supported in PDF and PNG exports.
-
-
In
theme()
:-
legend_margin, legend_spacing, legend_spacing_x, legend_spacing_y, legend_box, legend_box_just, legend_box_spacing
parameters [#1180].See example notebook.
-
legend_key, legend_key_size, legend_key_width, legend_key_height, legend_key_spacing, legend_key_spacing_x, legend_key_spacing_y
parameters [#1181].See example notebook.
-
strip_background_x, strip_background_y, strip_text_x, strip_text_y
parameters [#1195].See example notebook.
-
-
Custom
linetype
patterns [#1198]:- a list specifying the pattern of dashes and gaps used to draw the line:
[dash, gap, dash, gap, ...]
; - a list with a specified offset:
[offset, [dash, gap, dash, gap, ...]]
; - a string of an even number (up to eight) of hexadecimal digits specifying the lengths in consecutive positions in the string.
See example notebook.
- a list specifying the pattern of dashes and gaps used to draw the line:
-
Geometries:
-
geom_blank()
[#831]. -
base
parameter inwaterfall_plot()
[#1159].See example notebook.
-
check_overlap
parameter ingeom_text()
andgeom_label()
.See example notebook.
-
marginal
parameter inqq_plot()
:See example notebook.
-
inherit_aes
parameter in layers [#1172].
-
-
expand_limits()
[#820].See example notebook.
-
Support for 3-character hex color codes
Changed
-
Parameters
labwidth
infacet_wrap()
,x_labwidth, y_labwidth
infacet_grid()
: the maximum label length is applied after splitting at\n
separators, if present. -
Use
theme_light()
as the default theme inqq_plot()
. -
[BREAKING] For API deprecated in v4.0 the deprecation level raised to "Error" (only relevant for Kotlin clients).
-
[BREAKING] The 'base-midnight', 'base-antique' and 'base-flatblue' tilesets are deprecated (no longer served by CARTO) and will be removed in future releases.
Fixed
- Better Marimo Support (via PR-2084) [#1018].
- Support layering
aes()
multiple times [#822]. - waterfall_plot: faceting doesn't work without a measure mapping [#1152].
- waterfall_plot: tooltips don't work with column names from original dataset [#1153].
- Legend icon background is not transparent when
legend_background
is set to "blank" intheme
[#1167]. - Unable to display or save graph when using geom_path [#1168].
- Legend icon background should inherit the fill color of the plot panel (i.e. grey when
theme_grey
is used). - Vertex sampling uses different tolerances for objects within the same plot [#1174].
- sampling_vertex_vw doesn't work as expected [#1175].
- sampling_vertex_dp may break rings [#1176].
- ggmarginal: bottom boxplot is broken [#1189].
- Offscreen cells are sometimes not rendered in JupyterLab.
- The legend_justification parameter doesn't work if the legend_position='top' [#1031].
- coord_polar: geom_point tooltips should take in account point size [#1214].
v4.5.0rc2
Updated version v4.5.0rc2
v4.5.0rc1
Updated version v4.5.0rc1
v4.4.1
[4.4.1] - 2024-08-21
Added
-
New variables computed by
'bin'
statistic:'..sumprop..'
,'..sumpct..'
[#1155].See: example notebook.
Fixed
v4.4.0
[4.4.0] - 2024-08-02
Added
-
Waterfall plot [#975]:
See example notebook.
-
geom_band()
[#733]:See example notebook.
-
Custom legends [#774]:
manual_key
parameter in plot layerlayer_key()
function
See example notebook.
-
In legends:
-
title
parameter inguide_legend()
andguide_colorbar()
functionsSee example notebook.
-
override_aes
parameter in theguide_legend()
function [#807]:See example notebook.
-
-
plot_title_position
andplot_caption_position
parameters intheme()
[#1027]:See example notebook.
-
threshold
parameter ingeom_histogram()
[#1122]:See example notebook.
-
Color scales using Matplotlib's colormap [#1110]:
Thanks to a contribution by Eric Gayer.
See example notebook.
Changed
- [breaking change]
guide_legend()
/guide_colorbar()
require keyword arguments for 'nrow'/'barwidth' and other parameters except 'title'. - The triangular point shape is now anchored to the data point via the centroid
as_discrete()
is added tolets-plot
wildcard import (i.e. when usingfrom lets-plot import *
)
Fixed
- ggsave (.svg) transforms geom_text integer to float [#626].
- Int DataFrame column names are being converted to float string representation [#901].
linetype
= 0 ('blank') should make lines invisible [#712].geom_density2d
: support weight aesthetic [#791].- Discrete axis labels unnecessarily rotate 90 degrees when applying coord system limits.
- Axis title via
labs()
breaks the date-time scale [#1113]. - JavaFX IllegalArgumentException: Unsupported attribute
display
in Pane.
v4.4.0rc1
Updated version v4.4.0rc1
v4.3.3
[4.3.3] - 2024-05-29
Added
- Support for "angle" aesthetic in
geom_point()
[#736].
See example notebook.
Changed
- [BREAKING] Dropped support for Python 3.7 as it is in the "end-of-life" of its release cycle.
Fixed
- Livemap: improve "tiles" documentation [#1093].
- Undesired vertical scroller when displaying
gggrid
in Jupyter notebook. - GeoJson structure breaks if the ring start label occurs several times [#1086].
theme
: left margin doesn't work for theplot_title
parameter [#1101].- Improve border line type experience [LPK-220].