Releases: JetBrains/lets-plot
v4.0.1
[4.0.1] - 2023-09-13
Added
-
plot_messageparameter intheme(...)[#863].
See: example notebook. -
Add
geom_count()/stat_sum()[#821].
See: example notebook.
Changed
-
If layer transparency is set via the alpha-channel in the colors RGBA specification and via the
alphaaesthetic,
then thealphaaesthetic overrides the alpha-channel in the color. Previousely it was the opposite. -
geom_pie()defaults:- "stroke" is visible and
stroke_side='both'(wasstroke_side='outer'). - the "hole" is not created automatically when
stroke_side = 'both'/'inner'(was created automatically).
- "stroke" is visible and
-
geom_bar()now has solid outline color by default (was transparent). -
geom_tile(),geom_bin2d()now have solid outline color by default (was transparent).- however, by default the
sizeis 0 (i.e. tiles outline initially is not visible).
- however, by default the
Fixed
geom_tile(),geom_bin2d(): thealphaaesthetic is applied to the tiles outline.scale_x_datetime(): error building plot for early dates [#346].geom_livemap(): theme/flavor plot background is not shown [#857].geom_livemap(): in AWT dragging a map in a facet moves maps in all facets.geom_livemap(): support rectangle 'linetype' [#307].theme_void()+flavor_xxx(): no expected plot background [#858].- Inconsistent color in legend when using
paint_a/paint_b/paint_c[#867].
v4.0.0
[4.0.0] - 2023-08-17
Added
-
Flavor-aware colors: pen, brush and paper
- By default, all geometries utilize new flavor-aware colors.
- Theme
geomparameter allows redefinition of "geom colors":theme(geom=element_geom(pen, brush,paper)).
See: example notebook.
-
stat_summary():
example notebook. -
stat_summary_bin():
example notebook. -
stat_ecdf():
example notebook. -
geom_function():
example notebook. -
theme_void()[#830] :
example notebook. -
"sum"statistic [#821]:
example notebook. -
"boxplot_outlier"statistic: example notebook. -
Support for variadic line width and/or color in
geom_line()andgeom_path()[#313]. -
In tooltip customization API:
disable_splitting()function [LPK-189]. -
In
geom_pie():strokeandcoloraesthetics - the width and color of pie sector arcs.stroke_sideparameter - which arcs to show (inner, outer, both).spacer_widthandspacer_colorparameters - lines between sectors.
See: example notebook.
size_unitparameter : example notebook.
Changed
-
The default qualitative color palette is now Color Brewer "Set1" (was "Set2")
-
Geometries default colors are now flavor-dependent: example notebook.
-
Geometries default size/line-width is now slightly bigger.
-
Point size is adjusted to match the width of a line of the same "size".
-
[BREAKING]
geom_pie()no longer supports parameterstroke_color. -
[BREAKING]
geom_boxplot()no longer support parametersampling. -
[BREAKING]
geom_pointrange():sizeaesthetic shouldn't affect line width [#751]:linewidthaesthetic is used for line width,size- for mid-point size only. -
geom_boxplot():sizeandstrokeparameters now affect outlier shapes. -
[BREAKING, only affects users of Lets-Plot Kotlin API]
The entire project has undergone package refactoring.
As a result of package names changed, Lets-Plot v4.0.0 is partially incompatible
with Lets-Plot Kotlin API versions 4.4.1 and earlier.
Fixed
ggsave()doesn't save geom_raster() layer to a file [#778].ggsave(): saving geomImshow() to SVG produces fuzzy picture [LPK-188].ggsave(): saving geomImshow() to raster format produces fuzzy picture.geom_crossbar()aesthetics takemiddleargument instead ofy[#804].geom_boxplot()doesn't apply alpha to outliers [#754].geom_boxplot()outliers do not show tooltips.geom_step()no tooltips.geom_step(): toggle the behavior of thedirectionparameter when the orientation is changed.geom_livemap(): memory leak when re-run cells without reloading a page.geom_ribbon(): not all tooltips are shown on a multi-layer plot [#847].- Bug in empty plot: IndexOutOfBoundsException [#194].
- Weird tooltip/legend in case of extremely long value [#315].
- panning on interactive map should be more responsive [#336].
- Offline mode doesn't work with manylinux wheels [#808].
v4.0.0rc1
Updated version v4.0.0rc1
v3.2.0
[3.2.0] - 2023-05-09
Added
-
geom_lollipop().See: example notebook.
-
Aesthetic
stroke[#320]
and its scalesscale_stroke(),scale_stroke_identity().See: example notebook.
-
Aesthetic
linewidth(forgeom_lollipop()) and its scalesscale_linewidth(),scale_linewidth_identity().See: example notebook.
-
The 'newline' character (
\n) now works asline breakin legend
text ([#726])See: example notebook.
-
Horizontal error bars and vertical "dodge" ([#735]).
See: example notebook.
-
Colorbar in
geom_imshow(). Parametersshow_legend
andcolor_by[#717].
Changed
-
[BREAKING]
geom_dotplot()andgeom_ydotplot()no longer support parameterstat. -
Position adjustment settings:
width, heightparameters ofgeom_jitter()have priority over thewidth, heightparameters
ofposition_jitter()function;nudge_x, nudge_yparameters ofgeom_text(), geom_label()have priority overx, yparameters
ofposition_nudge()function.
-
geom_text(), geom_label()usestat='identity'by default. -
JVM/Batik: improved "paint manager" which now has better performance and fixes issues with artifacts that could appear beyond the plot component.
Fixed
- Batik:
geom_imshow()fail with an error: "The attribute "xlink:href" of the elementis required"
- Batik: bug with usage of "&" [#713].
- Categorical ordering, it's not respected for Boxplot and violin
plot [#746]. - Groups not sorted similarly when using facets [#679].
- HTML export: exclude computation messages from the output [#725].
- Image export not working with
geom_imshow()
andgeom_raster()[LPK-175]. geom_segment()doesn't take into account the alpha [#748].geom_density2d: Internal error with None values in data [#702].- DateTime metadata is not applied for scales other than
X/Y [LPK-174]. - Quantile should be shown in tooltip if the variable
..quantile..is mapped to geom aesthetic. - Bad default formatting for stat variables [#654].
- The scale name does not apply with
as_discrete()[#653]. - Tooltip is not shown when configured for 'const' value [#610].
- Fix crash when try to add a constant to a tooltip (e.g.
"^size", wheresizeaesthetic is specified with a number). - "Variable not found" error in
ggmarginal[#681]. facet_grid: Internal error [#699].- Export to SVG fails if breaks are given by integers [#763].
- Remove hard IPython dependency [#749].
- Tooltips bug [LPK-176].
- livemap: doesn't work well with gggrid [#750].
- livemap: memory leak caused by a document event handler.
- livemap: flickering when zooming with the buttons.
- livemap: tooltip text doesn't reflect data under the cursor [#709].
v3.2.0rc1
Updated version v3.2.0rc1
v3.1.0
[3.1.0] - 2023-03-07
Added
-
gggrid()function.See: example notebook.
-
joint_plot()See: example notebook.
-
Export to PNG files in
ggsave().Note: export to PNG file requires the CairoSVG library.
See: example notebook.
-
Axis
positionparameter in position scalesscale_x_*(), scale_y_*().See: example notebook.
-
angleparameter inelement_text()intheme().See: example notebook.
-
Additional "color" aesthetics:
paint_a, paint_b, paint_c.These aesthetics are flexible and can be used as either "color" or "fill" as needed. See Multiple Color Scales demo.
Also added a set of related "color scale" functions with the "aesthetic" parameter for configuring of additional color scales.
See New "Scale" Functions demo.
-
Drawing quantile lines and filling quantile areas in
geom_violin()andgeom_density()See: example notebook.
-
geodesicparameter forgeom_segment()andgeom_path().See: example notebook.
-
density2danddensity2dfgeometry types inresidual_plot().
Changed
-
The
MinGWtoolchain is no longer required for installing ofLets-PlotonWindows. -
[BREAKING]
geom_violin()no longer supports parameterdraw_quantiles. Use newquantile_linesandquantilesparameters as needed. -
[BREAKING]
stackandfillposition adjustments now stack objects on top of each other only if these objects belong to different groups.
If necessary, usemode="all""inposition_stack()orposition_fill()to stack objects regardless of their group.See: example notebook.
Fixed
- Tooltip does not reflect
..quantile..aesthetic change [#658]. color_byparameter of theresidual_plot()should group the data points [#662].- 'map_join': variable is lost after "stat" [#664].
- Error when tooltip has variable mapped to aesthetic used by stat [#665].
- Groups not sorted similarly when
position='stack'[#673]. - Area ridges: fill overlaps geometry borders when colors are repeated [#674].
- livemap: hide tooltips when user is zooming-in by double-clicks [#659].
- livemap: wrong position when path goes through the antimeridian [#682].
- livemap: wrong position if path is on a circle of latitude [#683].
- livemap: tooltip may show wrong data on density2df [#684].
- livemap: geom_text vjust="center" is a bit off [#132].
- livemap: segment that goes through the antimeridian should be straight [#692].
- livemap: apply alpha to the pie chart and to its tooltip color marker.
- Layout: uneven plot margins for the horizontal axis [#705].
- Sampling: increase the default N for "pick sampling" and for other types of sampling [#687].
v3.1.0rc1
Updated version v3.1.0rc1
v3.0.0
[3.0.0] - 2022-12-15
Added
-
Python wheel for Python 3.11.
-
residual_plot().See: example notebook.
-
geom_area_ridges().See: example notebook.
-
geom_pie().See: example notebook.
-
Annotations for pie chart:
See: example notebook.
-
New variables computed by
'count'and'count2d'statistics:'..sum..','..prop..','..proppct..'.See: example notebook.
-
Maps:
-
"Spatial pies" on interactive maps.
See: example notebook.
-
The
flatparameter forgeom_path()andgeom_segment()(replaces the retiredgeodesicparameter ingeom_livemap).See: example notebook.
-
-
Static maps:
-
The value "provided" for
use_crsparameter.See: example notebook.
-
-
geom_imshow():-
Improved performance by orders of magnitude.
-
Transparency of
NaNvalues in grayscale images [#631].
See: example notebook. -
alphaparameter [#630].
See: example notebook.
-
-
tails_cutoffparameter ingeom_violin()
See: example notebook.
Changed
- [BREAKING] Dropped support for Python 3.6 as it is in the "end-of-life" of its release cycle.
- [BREAKING]
geom_livemap()itself no longer draws geometries, so the following options are no longer supported:
symbol,data,mapping,map,map_join,ontop,stat,position,show_legend,sampling,tooltips.
To draw point and pie markers on map, please, use thegeom_point()andgeom_pie()geometry layers. - Java/Swing platf.: Apache Batik upgraded to v.1.16 [#624], [LPK #140].
- The default size is increased for the plot title and decreased for the caption.
- Upgraded Kotlin version to 1.7.21 (was 1.7.20).
Fixed
- Themes: can't change plot background after applying a "flavor" [#623].
- Layout: uneven left/right, top/bottom plot margins [#625].
- A plot building error with empty data on various geoms.
- Precision error in gradient [#634].
- geom_livemap: wrong position when datapoints geodesic line goes close to the N.P. [#645].
v3.0.0rc2
Updated version v3.0.0rc2
v3.0.0rc1
Updated version v3.0.0rc1