Releases: JetBrains/lets-plot
v4.3.2
v4.3.1
[4.3.1] - 2024-04-16
Added
-
Parameter
dpi
inggsave()
,to_png()
andto_pdf()
functions [#839].See example notebook.
-
Parameter
labwidth
infacet_wrap()
andx_labwidth/y_labwidth
infacet_grid()
[LPK-237].See: example notebook.
-
Parameter
linetype
inelement_line()
andelement_rect()
intheme()
[LPK-235].See: example notebook.
-
Parameter
arrow
ingeom_spoke()
[#986].See: example notebook.
-
Parameter
size_unit
ingeom_point()
,geom_text()
andgeom_label()
.See: example notebook.
-
Auto-detection of
orientation="y"
in bar-chart etc. [#558].See: example notebook.
-
Parameter
plot_inset
intheme()
.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:
vjust
implemented 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
linetype
parameter 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].
v4.3.1rc1
Updated version v4.3.1rc1
v4.3.0
[4.3.0] - 2024-03-07
Added
-
coord_polar()
The polar coordinate system is most commonly used for pie charts, but
it can also be used for constructing Spyder or Radar charts using theflat
option.See: example notebook.
-
In the
theme()
function:-
panel_inset
parameter - primarily used for plots with polar coordinates.See: example notebook.
-
panel_border_ontop
parameter - enables the drawing of panel border on top of the plot geoms. -
panel_grid_ontop, panel_grid_ontop_x, panel_grid_ontop_y
parameters - enable the drawing of grid lines on top of the plot geoms.
-
-
geom_curve()
See: example notebook.
-
[UNIQUE] Visualizing graph-like data with
geom_segment()
andgeom_curve()
.-
Aesthetics
size_start, size_end, stroke_start
andstroke_end
enable better alignment of
segments/curves with nodes of the graph by considering the size of the nodes. -
The
spacer
parameter allows for additional manual fine-tuning.
See:
-
-
alpha_stroke
parameter ingeom_label()
to enable the applying ofalpha
tocolor
[#1029].See: example notebook.
-
Showing plots in external browser
The
LetsPlot.setup_show_ext()
directive allows plots to be displayed in an external browser window.
Changed
- [BREAKING] Function
geom_image()
is removed. Please usegeom_imshow()
instead. - Parameter
axis_ontop
intheme()
is nowTrue
by default.
Fixed
- coord_map() should distort tiles size to account for different unit size at different latitudes[#331].
- geom_errorbar(): wrong positioning of tooltips [#992].
- geom_path(): tooltip position interpolation [#855].
- Stacked bar-chart annotation: labels go out of the plot when zooming-in using coord_cartesian(xlim, ylim) [#981].
- Facets: "free scales" options are ignored by discrete axis [#955].
- Bar width is too large when x-domain is defined via x-scale limits [#1013].
- How to hide only main tooltip? [LPK-#232].
- Make middle strip in
geomCrossbar()
optional [LPK-233]. - Can't set None for coord limit [#486].
- Scale limits don't work for bars/area [LPK-219], [#978].
- No gridlines when axis_ontop=True [#1012].
- bar-plot: do not draw bar border adjacent to the axis [#845].
- Displaying tooltips on a multilayer plot [#1030].
- Make segment geometry better suited for graphs visualization [#572].
v4.3.0rc2
Updated version v4.3.0rc2
v4.3.0rc1
Updated version v4.3.0rc1
v4.2.0
[4.2.0] - 2023-12-28
Added
-
Support for
Categoricals
:- Support for
pandas.Categorical
data type [#914]. - The
levels
parameter inas_discrete()
function [#931].
See: example notebook.
- Support for
-
Support for superscript for numbers in scientific notation [#743].
Warning!
Do NOT(!) use
exponent_format='pow'
if you are planning to export plot to a raster format (PNG,PDF).The
CairoSVG
library (which is under the hood of ourggsave()
function) does not handretspan
element properly end breaks superscript notation when transforming SVG to PNG/PDF.More details: Kozea/CairoSVG#317
See: example notebook. -
Support exporting plot to a file-like object.
Convenience methods:to_svg()
,to_html()
,to_png()
,to_pdf()
[#885], [#590].See: example notebook.
-
Sharing of X,Y-scale limits between subplots in
gggrid()
[#718].See: example notebook.
-
geom_spoke()
[#738].See: example notebook.
-
scale_x_log2()
,scale_y_log2()
[#922]. -
High-contrast tileset "BW" for
geom_livemap()
.See: example notebook.
-
New variables computed by
'count'
and'count2d'
statistics:'..sumprop..'
,'..sumpct..'
[#936].See: example notebook.
-
Support using dictionaries for breaks/labels/values customization in
scale_xxx()
functions [#169], [#882].See: example notebook.
-
The
lablim
parameter inscale_xxx()
functions [#939, #946].See: example notebook.
-
label_text
parameter intheme()
for annotation text settings [#930].See: example notebook.
-
NumberFormat: new flag
~
to trim trailing zeros.
Changed
-
[BREAKING] Function
margin()
is deprecated and will be removed in future releases.
Please replace all existing usages, i.e.theme(plot_margin=margin(..))
andelement_text(margin=margin(..))
with a list or with just a number:- a number or list of one number - the same margin it applied to all four sides;
- a list of two numbers - the first margin applies to the top and bottom, the second - to the left and right;
- a list of three numbers - the first margin applies to the top, the second - to the right and left,
the third - to the bottom; - a list of four numbers - the margins are applied to the top, right, bottom and left in that order.
See: example notebook.
-
Upgraded Apache Batik to version 1.17 [#887]
Fixed
- Jitter reproducibility in geom_jitter, position_jitter, position_jitterdodge [#911].
- Facets: order = 0 doesn't work as expected [#923].
- geom_livemap: fix missing styles (e.g. road outline on high zooms) [#926].
- geom_livemap: freeze at zoom 10 [#892].
- Enormous CPU / Time/ Memory consumption on some data [#932].
- gggrid: composite plot is not visible if saved with ggsave [#942].
- gggrid doesn't override global theme [#966].
scale_continuous()
fails with non-color aesthetics [#953].- NumberFormat:
g
format doesn't use e-notation for small numbers [#965]. - Tooltips: graphical artifacts and bad performance in multi-line plot in Batik [#967].
- Wrong tooltip position on
geom_segment()
with position adjustment [#963].
v4.2.0rc1
Updated version v4.2.0rc1
v4.1.0
[4.1.0] - 2023-11-03
Added
-
Annotations in Barchart
See: example notebook.
-
Common theme support in subplots (i.e.
gggrid()
) [LPK-#197].See: example notebook.
-
HCL
andCIELAB
color space for hue color scale and gradient color scales [#876].See: example notebook.
-
New scale transformations:
'log2'
and'symlog'
.See: example notebook.
-
plot_margin
parameter intheme()
[#856].See: example notebook.
-
Dual orientation for geometries:
geom_errorbar()
geom_crossbar()
geom_pointrange()
geom_linerange()
geom_ribbon()
See: example notebook.
-
Python 3.12 support [#907].
Changed
- [BREAKING]
stat_summary()
andstat_summary_bin
no longer supports computing of additional variables specified in mappings.
Fixed
- Husl palette equivalent [#876].
- Tooltips are trimmed and not visible on a very narrow chart [#837].
geom_crossbar
: an error occurs if the mapped values of aesthetics are not populated [#886].- Exception label is unresizeble, uncopyable and uncontrollable [#902].
- Flickering during plot downsizing [#888].
- Bad default formatting of numeric values in annotations [#905].
- corr_plot: unexpected whitespace between the "geometry area" and the legend [#877].
- scale_log: an option to generate only breaks which are integer powers of 10 needed [#850].
- Trimmed legend when bounds of the rightmost X-axis tick label exceeds the axis length [#851].
- HTML files exported using ggsave() are missing the encoding specification [#900].
plot_margin
parameter intheme()
[#856].- Subplot themes not inherited by parent [LPK-#197].
- Saving plots in PDF format using ggsave() [#710].
element_blank()
has no effect on plot title/subtitle/caption intheme()
[#913].- Lollipop in legend is disproportionately large [LPK-216].
- geomBar with fill, produces tooltips artefacts [#895].
- Exception, when trying to build plot with column name containing line breakes [#894].
- Added "grey" spelling for the gray color (earlier - "gray" only).
v4.1.0rc1
Updated version v4.1.0rc1