All Versions
34
Latest Version
Avg Release Cycle
35 days
Latest Release
573 days ago

Changelog History
Page 1

  • v4.1.0 Changes

    September 30, 2022

    โž• Added

    • ๐Ÿ†• New theme: themeBW().

    See: example notebook.

    • Color schemes (flavors) applicable to existing themes:
      • flavorDarcula()
      • flavorSolarizedLight()
      • flavorSolarizedDark()
      • flavorHighContrastLight()
      • flavorHighContrastDark()

    See: example notebook.

    • Viridis color scales: scaleColorViridis(), scaleFillViridis().

    See: example notebook.

    • ๐Ÿ†• New parameters in theme's elementText():

    • Parameter whiskerWidth in geomBoxplot().

    See: example notebook.

    • ๐Ÿ†• New geometry geomLabel().

    See: example notebook.

    ๐Ÿ”„ Changed

    • ๐Ÿ†• New tooltip style after applying coordFlip() [#580].

    See: example notebook.

    ๐Ÿ›  Fixed

    • Density and area geoms: preserve the z-order when grouping [#552].
    • 0๏ธโƒฃ Boxplot, violin, crossbar: position dodge width=0.95 should be used by default [#553].
    • Unclear size unit of width [#589].
    • No tooltips for geomBoxplot with zero height [#563].
    • geomText: wrong label alignment with hjust 0 and 1 [#592].
    • ๐Ÿ“š Documentation for the breaks parameter in scales [#507]
  • v4.0.0 Changes

    July 25, 2022

    ๐Ÿ’ฅ BREAKING CHANGES: Due to refactorings performed in the source code, the v4.0.0 is no longer backward compatible with earlier versions of the Lets-Plot Kotlin API.

    ๐Ÿ”„ Changed

    • ๐Ÿšš All previously deprecated API were removed.

    • The prefix "org" was added to all package names in the project.

    • ๐Ÿ“ฆ Some API elements were moved from package org.jetbrains.letsPlot to a more specific subpackages:

      • Plot theme elements were moved to subpackage themes
      • Coordinate system functions were moved to subpackage coord
      • Position adjustment functions were moved to subpackage pos
    • ๐Ÿ—„ Deprecated API:

      • Position adjustment constants: identity, stack, fill, dodge, nudge and jitterdodge (defined in the Pos object), are now deprecated in favor of the correspondent top level elements defined in the (new) org.jetbrains.letsPlot.pos package: positionIdentity, positionStack, positionFill, positionDodge(), positionNudge() and positionJitterDodge().

    Migrating to 4.0.0

    In Kotlin project

    • โšก๏ธ Update all import statements: import jetbrains.letsPlot..import org.jetbrains.letsPlot..
    • โšก๏ธ In all places in your project where the code needs to be updated, IntelliJ will show you a deprecation WARNING and will offer to fix this automatically.

    In Jupyter notebook

    • As soon as you start using 4.0.0 in you notebook, the only thing you will want to do is to manually replace all deprecated Pos.abc expressions with their new equivalents:
      • Pos.identitypositionIdentity
      • Pos.stackpositionStack
      • Pos.fillpositionFill
      • Pos.dodgepositionDodge()
      • Pos.nudgepositionNudge()
      • Pos.jitterdodgepositionJitterDodge()

    NOTE: If your notebook also uses another Kotlin library which depends on an older version of Lets-Plot, then the classloader may refuse to load classes from both libraries. If this is the case, then you will want to do NOT update your notebook to Lets-Plot v4.0.0 as yet: โœ… > - Make sure your notebook is not using the %useLatestDescriptors line magic

    • Make sure you are using Kotlin Jupyter Kernel version 0.11.0.95 (or earlier), which bundles a previous version of Lets-Plot.
  • v3.3.0 Changes

    June 27, 2022

    โž• 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.
    • 0๏ธโƒฃ 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 Changes

    March 29, 2022

    โž• 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 Changes

    December 13, 2021

    โž• 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 Changes

    November 05, 2021

    โž• 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.
    • 0๏ธโƒฃ 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 Changes

    June 09, 2021

    โž• 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:
  • v3.0.1 Changes

    June 09, 2021

    โž• 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 Changes

    June 04, 2021

    โž• 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

    • [BREAKING CHANGE]: The CDN for delivering the Lets-Plot JavaScript library is now JSDELIVR (was CDNJS).

    New URLs:

    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.

    • [BREAKING CHANGE] The JVM artifact lets-plot-kotlin-api is no longer deployed: replaced with the equivalent lets-plot-kotlin-jvm.

    • The artifact lets-plot-kotlin-api-kernel renamed to lets-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 Changes

    April 19, 2021

    ๐Ÿ”„ 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)