Skip to content

Releases: JetBrains/lets-plot-kotlin

v3.3.0

27 Jun 22:28
Compare
Choose a tag to compare

[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.

  • 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 in elementText().

      See: example notebook.

    • panelBorder parameter in theme() [#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() and scaleFillGradientN() functions [#504].

    See: example notebook.

  • kotlinx.datetime support.

  • arrow parameter in geomSegment - specification for arrow heads, as created by arrow() 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 from systematic to pick.

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 and ydensity stats [#62].
  • geom_violin: add missing parameters kernel, bw, adjust, n, fs_max to signature and docstring.

v3.2.0

29 Mar 21:57
Compare
Choose a tag to compare

[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 in ggtitle() and labs(),
    caption parameter in labs(),
    plotSubtitle and plotCaption parameters in theme().

    See: example notebook.

  • Multi-line labels: The 'newline' character (\n) now works as line 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 in facetGrid()/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

13 Dec 22:51
Compare
Choose a tag to compare

[3.1.1] - 2021-12-13

Added

  • scaleXTime() and scaleYTime().

    See: example notebook.

  • plotBackground, legendBackground parameters in theme() [#485].

  • axisOntop, axisOntopX, axisOntopY parameters in theme()

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

05 Nov 23:16
Compare
Choose a tag to compare

[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().
  • 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.

    See: sample Kotlin/JS IR app

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 in theme().

Fixed

  • Ordering facets - the "order" value 0 disables facet ordering [#454].
  • Tooltips for discrete variables: add the dependence of the tooltip on the number of factors.
    The X-axis tooltip is always shown for discrete data.
  • Unreadable breaks on axis [#430].

v3.0.2

17 Aug 23:56
Compare
Choose a tag to compare

[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

v3.0.1

09 Jun 22:03
Compare
Choose a tag to compare

[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

  • Multilayer plots are corrupted [#385].
  • Import "lets-plot-common" transitively [#78]

v3.0.0

04 Jun 20:40
Compare
Choose a tag to compare

[3.0.0] - 2021-06-04

Added

  • In tooltip customization API:

    • layerTooltips(variables) - the new parameter variables 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

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

19 Apr 18:41
Compare
Choose a tag to compare

[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

23 Mar 18:35
Compare
Choose a tag to compare

[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 are number
    and date/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.

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

  • show() should actually show a plot [#51]
  • Facet grid truncated in jupyter [#28].

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

16 Jan 00:47
Compare
Choose a tag to compare

[1.2.0] - 2021-01-15

Added

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.