Releases: JetBrains/lets-plot
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_formatparameter 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_spacingparameters [#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_yparameters [#1181].See example notebook.
-
strip_background_x, strip_background_y, strip_text_x, strip_text_yparameters [#1195].See example notebook.
-
-
Custom
linetypepatterns [#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]. -
baseparameter inwaterfall_plot()[#1159].See example notebook.
-
check_overlapparameter ingeom_text()andgeom_label().See example notebook.
-
marginalparameter inqq_plot():See example notebook.
-
inherit_aesparameter in layers [#1172].
-
-
expand_limits()[#820].See example notebook.
-
Support for 3-character hex color codes
Changed
-
Parameters
labwidthinfacet_wrap(),x_labwidth, y_labwidthinfacet_grid(): the maximum label length is applied after splitting at\nseparators, 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_backgroundis 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_greyis 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_keyparameter in plot layerlayer_key()function
See example notebook.
-
In legends:
-
titleparameter inguide_legend()andguide_colorbar()functionsSee example notebook.
-
override_aesparameter in theguide_legend()function [#807]:See example notebook.
-
-
plot_title_positionandplot_caption_positionparameters intheme()[#1027]:See example notebook.
-
thresholdparameter 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-plotwildcard 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
displayin 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
gggridin Jupyter notebook. - GeoJson structure breaks if the ring start label occurs several times [#1086].
theme: left margin doesn't work for theplot_titleparameter [#1101].- Improve border line type experience [LPK-220].
v4.3.2
v4.3.1
[4.3.1] - 2024-04-16
Added
-
Parameter
dpiinggsave(),to_png()andto_pdf()functions [#839].See example notebook.
-
Parameter
labwidthinfacet_wrap()andx_labwidth/y_labwidthinfacet_grid()[LPK-237].See: example notebook.
-
Parameter
linetypeinelement_line()andelement_rect()intheme()[LPK-235].See: example notebook.
-
Parameter
arrowingeom_spoke()[#986].See: example notebook.
-
Parameter
size_unitingeom_point(),geom_text()andgeom_label().See: example notebook.
-
Auto-detection of
orientation="y"in bar-chart etc. [#558].See: example notebook.
-
Parameter
plot_insetintheme().See: example notebook.
Fixed
- ggmarginal(): broken coloring [#760].
- Incorrect 'plot_background' area (with empty space capture) [#918].
- geom_density2df: uneven borders [#941].
- DateTime is not recognised in polars.DataFrame [#961].
- Support geom_spoke() in geom_livemap() [#988].
- NASA BlueMarble tiles have become blank [#1000].
- Line segments in geom_density2df() do not get interpolated when used with coord_polar() [#1037].
- arrow on segment: reduce arrow size for short segments [#1040].
- arrow on curve sometimes looks weird [#1041].
- livemap: when release the mouse button from outside the map, it gets stuck in panning mode [#1044].
- Improve documentation for parameter
position[#1047]. - Error when build geom_smooth() with se=False [#1050].
- Livemap:
vjustimplemented incorrectly [#1051]. - Add tooltips for
geom_curve()[#1053]. - Incorrect position for bar annotations when specifying
scale_x_reverse()/scale_y_reverse()[#1057]. - Missing outer bar annotations when specifying
scale_x_reverse()/scale_y_reverse()[#1058]. geom_density2d: the doc missing some 'computed' variables [#1062].- Weird and problematic behavior : lets-plot does not respect x and y. Sizing problem ?[#1068].
- Plot layout breaks when marginal layers are used #1074 [#1074].
- Discrete scale doesn't work for datetime data [LPK-231].
- Add
linetypeparameter inelementLine()andelementRect()[LPK-235]. - Any way to line-wrap facet labels? [LPK-237].
- Missing marginal gridlines.
- Cryptic error message on geom_boxplot with orientation="y" [#600].
set_theme()should accept "feature list" [#657].