Releases: JetBrains/lets-plot-kotlin
v3.3.0
[3.3.0] - 2022-06-27
Added
-
Global theme configuring with
LetsPlot.theme
property.See: example notebook.
-
Quantile-Quantile (Q-Q) plot:
- geometries:
geomQQ()
geomQQLine()
geomQQ2()
geomQQ2Line()
- stats:
statQQ()
statQQLine()
statQQ2()
statQQ2Line()
- quick Q-Q:
qqPlot()
See: example notebook.
- geometries:
-
Marginal plots: the
ggmarginal()
function.See: example notebook.
-
Parameter
orientation
in geoms:bar, boxplot, density, histogram, freqpoly, smooth, violin
.See: example notebook.
-
New in plot theme:
-
face
parameter inelementText()
.See: example notebook.
-
panelBorder
parameter intheme()
[#542].See: example notebook.
-
Tooltip theme options, new parameters in
theme()
:tooltip
- tooltip rectangle options;tooltipText, tooltipTitleText
- tooltip text options;axisTooltipText, axisTooltipTextX, axisTooltipTextY
- axis tooltip text options.
See: example notebook.
-
-
scaleColorGradientN()
andscaleFillGradientN()
functions [#504].See: example notebook.
-
kotlinx.datetime
support. -
arrow
parameter ingeomSegment
- specification for arrow heads, as created byarrow()
function.
Changed
- Potentially breaking change: deprecation level for all deprecated API raised to the ERROR level.
geomImage()
removed as it is not yet production ready.- Default sampling type for
geom_violin
switched fromsystematic
topick
.
Fixed
- Labels out of plot when axisTextY="blank" [#525].
- Outliers are not shown when boxplot' alpha=0.
- JFX rendering issue that causes tooltips to stuck [#539].
- Support trim parameter in
density
andydensity
stats [#62]. geom_violin
: add missing parameterskernel
,bw
,adjust
,n
,fs_max
to signature and docstring.
v3.2.0
[3.2.0] - 2022-03-29
Added
-
New geometries:
geomViolin()
See: example notebook.
geomDotplot()
See: example notebook.
geomYDotplot()
See: example notebook.
-
Plot subtitle and caption:
subtitle
parameter inggtitle()
andlabs()
,
caption
parameter inlabs()
,
plotSubtitle
andplotCaption
parameters intheme()
.See: example notebook.
-
Multi-line labels: The 'newline' character (
\n
) now works asline break
in plot title, subtitle and caption, in legend's title and in tooltips. -
In tooltip customization API: the
title()
option defines a tooltip "title" text which will always appear above the rest of the tooltip content.See: example notebook.
-
Parameter
scales
infacetGrid()/facetWrap()
[#451,
#479].See: example notebook.
Changed
- New tooltip style: rounded corners, bold label, colored marker inside the tooltip.
- Deprecated tooltip customization API: function
color()
will be removed in one of the future releases. - 'Auto shrink': plots automatically shrink when necessary to fit width of the output (notebook) cell [#488].
Fixed
- Automatic detection of DateTime series [#99].
- Too limited mapping options in GenericAesMapping [#82]
- scaleColorManual Divide by Zero with 1 mapping [#506].
- LinearBreaksHelper$Companion.computeNiceBreaks out of memory error [#105].
- CVE-2021-23792 in org.jetbrains.lets-plot:[email protected] [#497].
- Fix tooltips for
geom_histogram(stat='density')
. - The axis tooltip overlaps the general tooltip [#515].
- The multi-layer tooltip detection strategy will only be used if more than one layer provides tooltips.
v3.1.1
[3.1.1] - 2021-12-13
Added
-
scaleXTime()
andscaleYTime()
.See: example notebook.
-
plotBackground, legendBackground
parameters intheme()
[#485]. -
axisOntop, axisOntopX, axisOntopY
parameters intheme()
Fixed
- It should automatically stringify enums [#97].
- Coord system limits do not work with x/y scale with transform [#474].
- Provide 0-23 hour formatting [#469].
- No tooltip shown when I'm trying to add an empty line [#382].
coord_fixed()
should adjust dimensions of "geom" panel accordingly [#478].- The tooltip dependence on number of factors works separately by layers [#481].
- Tooltip on y-axis looks wrong [#393].
- Is kotlin-reflect really needed for lets-plot? [#471].
v3.1.0
[3.1.0] - 2021-11-05
Added
-
coordFlip()
.See: example notebook
. -
Date-time formatting support:
- using date-time format pattern in tooltip format();
- date/time scales apply date-time formatting to the
breaks
.
See
Out[7, 8, 10]
in
the example notebook
. -
Pre-configured themes:
- Standard ggplot2 themes:
themeGrey(), themeLight(), themeClassic(), themeMinimal()
; - Other themes:
themeMinimal2()
- the default theme,themeNone()
.
- Standard ggplot2 themes:
-
Theme modification: more parameters were added to the
theme()
function.See: example notebook.
Note: fonts size, family and face still can not be configured.
-
CorrPlot()
function now also accepts pre-computed correlation coefficients. -
Kotlin/JS IR:
xxx.klib
artifacts are now available.
Changed
- The size of fonts on plot was slightly increased all across the board.
- The default plot size was increased by 20%, it's now 600x400 px.
- Deprecated API: all
Theme.xxxBlank()
functions. Please use corresponding parameters intheme()
.
Fixed
v3.0.2
[3.0.2] - 2021-06-09
Added
-
Ordering categories:
New parameters added to the
asDiscrete()
function:orderBy
- name of the variable by which the ordering will be performed;order
- ordering direction: 1 for ascending direction and -1 for descending (default).
See: as_discrete.
Changed
- Upgraded dependencies:
- Kotlin: 1.5.21
- Lets-Plot: 2.1.0 (see Lets-Plot CHANGELOG)
- Apache Batik: 1.14 [#398]
v3.0.1
[3.0.1] - 2021-06-09
Added
- The 'format' parameter in all scales [76].
Changed
- Upgraded
kotlinx.html
version to 0.7.3 (was 0.7.2)
In JVM projects it's no longer necessary to add
https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven
repository
to the project configuration.
Fixed
v3.0.0
[3.0.0] - 2021-06-04
Added
-
In tooltip customization API:
layerTooltips(variables)
- the new parametervariables
defines a list of variable names, which values will be
placed in the general multiline tooltip.
See: Tooltip Customization.
-
lets-plot-mini-apps GitHub repository containing examples of using
the Lets-Plot Kotlin API in JVM and Kotlin-JS projects.
Changed
-
[BREAKING CHANGE]: The CDN for delivering the Lets-Plot JavaScript library is
now JSDELIVR
(was CDNJS).New URLs:
-
The project has been converted to a "multiplatform" project targeting JVM and JS platforms.
To use Lets-Plot Kotlin API in your project, include dependencies:
- JVM:
implementation "org.jetbrains.lets-plot:lets-plot-kotlin-jvm:3.0.0"
- JS:
implementation "org.jetbrains.lets-plot:lets-plot-kotlin-js:3.0.0"
See README_DEV.md for more details.
- JVM:
-
[BREAKING CHANGE] The JVM artifact
lets-plot-kotlin-api
is no longer deployed: replaced with the
equivalentlets-plot-kotlin-jvm
. -
The artifact
lets-plot-kotlin-api-kernel
renamed tolets-plot-kotlin-kernel
(this change only concerns Kotlin
Jupyter Kernel)
Fixed
- Poor font rendering in Swing/Batik. Related to: [#364]
- Exclude slf4j implementation from lets-plot-common [#374]
- geom_boxplot: should be possible to create boxplot without specifying
x-series [#325] - geom_hline: graph plotted outside of coordinate plane visible
part [#334] - Draw geometry only once if layer has no aes mapping
specified [#73] - Can't build plot: "Uncaught SyntaxError: Unexpected string" in a
console [#371]
v2.0.1
[2.0.1] - 2021-04-19
Changed
- [BREAKING CHANGE]: The groupId of all maven artifacts is now "org.jetbrains.lets-plot" (was "
org.jetbrains.lets-plot-kotlin") - Built with Lets-Plot v2.0.2 (was v2.0.2).
- All snake_case symbols were deprecated and replaced with equivalent camelCase
symbols [#53]. - Maven artifacts published to Maven Central (due to shutting down
of Bintray, JCenter)
v1.3.0
[1.3.0] - 2021-03-22
Added
-
facet_wrap()
function. -
in
facet_grid()
function:- Ascending/descending ordering of faceting values.
- Formatting of faceting values.
See: Facets demo
-
The
format
parameter in positional scales: formatting tick labels on X/Y axis. Supported types arenumber
anddate/time
.Example:
scale_x_datetime(format="%b %Y") scale_x_continuous(format="is {.2f}")
Demo: Formatting demo
See also: Formatting
-
The
guides()
function [#52]. -
In tooltip customization API:
- option
color
overrides the default tooltip color:geom_xxx(tooltips=layer_tooltips().color("red"))
See: Tooltip Customization.
- option
Changed
- Built with Lets-Plot v2.0.1 (was v1.5.6).
- All Java Swing demos were updated to use new
plot components
(new in Lets-Plot v2.0.1). - The "Minimal demo" was updated:
Fixed
The majority of fixes in the core Lets-Plot vv 2.0.0, 2.0.1 are also applicable to this release.
See the Lets-Plot CHANGELOG.md.
v1.2.0
[1.2.0] - 2021-01-15
Added
-
Correlation plot builder.
Example: correlation_plot.ipynb
-
The
gggrid()
plot layout utilityExample: correlation_plot.ipynb
-
In tooltip customization API:
- options:
center
andmiddle
(anchor). - option 'minWidth'.
Example: tooltip_config.ipynb
- options:
-
The
naText
parameter ingeom_text()
Changed
-
Built with Lets-Plot v1.5.6 (was v1.5.4).
See Lets-Plot CHANGELOG.md for changes and fixes in
1.5.5, 1.5.6.