Lets-plot

Latest version: v4.3.1

Safety actively analyzes 621332 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 9

4.7.1

Added

Changed

Fixed

4.7.0

Added
- `coordPolar()`

The polar coordinate system is most commonly used for pie charts, but </br>
it can also be used for constructing **Spider or Radar charts** using the `flat` option.

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.7.0/coord_polar.ipynb).

- In the `theme()` function:
- `panelInset` parameter - primarily used for plots with polar coordinates.

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.7.0/theme_panel_inset.ipynb).

- `panelBorderOntop` parameter - enables the drawing of panel border on top of the plot geoms.
- `panelGridOntop, panelGridOntopX, panelGridOntopY` parameters - enable the drawing of grid lines on top of the plot geoms.

- `geomCurve()`

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.7.0/geom_curve.ipynb).

- [**UNIQUE**] Visualizing graph-like data with `geomSegment()` and `geomCurve()`.

- Aesthetics `sizeStart, sizeEnd, strokeStart` and `strokeEnd` enable better alignment of</br>
segments/curves with nodes of the graph by considering the size of the nodes.

- The `spacer` parameter allows for additional manual fine-tuning.

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.7.0/graph_edges.ipynb).

- `alphaStroke` parameter in `geomLabel()` to enable the applying of `alpha` to `color` [[1029](https://github.com/JetBrains/lets-plot/issues/1029)].

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.7.0/geom_label_alpha_stroke.ipynb).

Changed

- Parameter `axisOntop` in `theme()` is now `true` by default.

Fixed

- Bug with Tooltips in Swing/Batik [[LPK-225](https://github.com/JetBrains/lets-plot-kotlin/issues/225)].
- coordMap() should distort tiles size to account for different unit size at different latitudes [[331](https://github.com/JetBrains/lets-plot/issues/331)].
- geomErrorbar(): wrong positioning of tooltips [[992](https://github.com/JetBrains/lets-plot/issues/992)].
- geomPath(): tooltip position interpolation [[855](https://github.com/JetBrains/lets-plot/issues/855)].
- Stacked bar-chart annotation: labels go out of the plot when zooming-in using coord_cartesian(xlim, ylim) [[981](https://github.com/JetBrains/lets-plot/issues/981)].
- Facets: "free scales" options are ignored by discrete axis [[955](https://github.com/JetBrains/lets-plot/issues/955)].
- Bar width is too large when x-domain is defined via x-scale limits [[1013](https://github.com/JetBrains/lets-plot/issues/1013)].
- How to hide only main tooltip? [[LPK-232](https://github.com/JetBrains/lets-plot-kotlin/issues/232)].
- Make middle strip in `geomCrossbar()` optional [[LPK-233](https://github.com/JetBrains/lets-plot-kotlin/issues/233)].
- Can't set `null` for coord limit [[486](https://github.com/JetBrains/lets-plot/issues/486)].
- Scale limits don't work for bars/area [[LPK-219](https://github.com/JetBrains/lets-plot-kotlin/issues/219)], [[#978](https://github.com/JetBrains/lets-plot/issues/978)].
- No gridlines when axisOntop=True [[1012](https://github.com/JetBrains/lets-plot/issues/1012)].
- Displaying tooltips on a multilayer plot [[1030](https://github.com/JetBrains/lets-plot/issues/1030)].
- Make segment geometry better suited for graphs visualization [[572](https://github.com/JetBrains/lets-plot/issues/572)].

4.6.0

Added

- The `levels` parameter in `asDiscrete()` function [[931](https://github.com/JetBrains/lets-plot/issues/931)].

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/factor_levels.ipynb).

- Support for superscript for numbers in scientific notation [[743](https://github.com/JetBrains/lets-plot/issues/743)].

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/superscript_exponent.ipynb).

- Sharing of X,Y-scale limits between subplots in `gggrid()` [[718](https://github.com/JetBrains/lets-plot/issues/718)].

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/gggrid_scale_share.ipynb).

- `geomSpoke()` [[738](https://github.com/JetBrains/lets-plot/issues/738)].

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/geom_spoke.ipynb).

- `scaleXLog2(), scaleYLog2()` [[922](https://github.com/JetBrains/lets-plot/issues/922)].

- New variables computed by `'count'` and `'count2d'` statistics: `'..sumprop..'`, `'..sumpct..'` [[936](https://github.com/JetBrains/lets-plot/issues/936)].

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/new_stat_count_vars.ipynb).

- Support using dictionaries for breaks/labels/values customization in `scaleXxx()` functions [[169](https://github.com/JetBrains/lets-plot/issues/169)], [[#882](https://github.com/JetBrains/lets-plot/issues/882)].

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/scale_params_with_dict.ipynb).

- The `lablim` parameter for `scaleXxx()` functions [[939](https://github.com/JetBrains/lets-plot/issues/939), [#946](https://github.com/JetBrains/lets-plot/issues/946)].

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/scale_lablim.ipynb).

- `labelText` parameter in `theme()` for annotation text settings [[930](https://github.com/JetBrains/lets-plot/issues/930)].

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/theme_label_text.ipynb).



Changed

- **[BREAKING]** Function `margin()` is deprecated and will be removed in future releases. <br/>
Please replace all existing usages, i.e. `theme(plotMargin=margin(..))` and `elementText(margin=margin(..))` <br/>
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](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.6.0/margins.ipynb).

- Geotools: migrate to v30 [[217](https://github.com/JetBrains/lets-plot-kotlin/issues/217)]. <br/>
**[BREAKING]** GeoTools v30 and up is not backward compatible with v29 and below due to <br/>
renaming of all "org.opengis" packages into "org.geotools.api" ones. <br/>
See release notes: http://geotoolsnews.blogspot.com/2023/09/geotools-30-rc-released.html

- Upgraded Apache Batik to version 1.17 [[887](https://github.com/JetBrains/lets-plot/issues/887)]


Fixed

- Jitter reproducibility in geomJitter, positionJitter, positionJitterDodge [[911](https://github.com/JetBrains/lets-plot/issues/911)].
- Bug with Tooltips in Swing/Batik [[225](https://github.com/JetBrains/lets-plot-kotlin/issues/225)].
- Facets: order = 0 doesn't work as expected [[923](https://github.com/JetBrains/lets-plot/issues/923)].
- Enormous CPU / Time/ Memory consumption on some data [[932](https://github.com/JetBrains/lets-plot/issues/932)].
- gggrid: composite plot is not visible if saved with ggsave [[942](https://github.com/JetBrains/lets-plot/issues/942)].
- gggrid doesn't override global theme [[966](https://github.com/JetBrains/lets-plot/issues/966)].
- Marginal box-plots aren't shown when requested on more than 1 plot side.
- Marginal plot: use "pen" as default color for marginal layers.
- `gggrid()` doesn't use global theme settings.
- NumberFormat: `g` format doesn't use e-notation for small numbers [[965](https://github.com/JetBrains/lets-plot/issues/965)].
- Tooltips: graphical artifacts and bad performance in multi-line plot in Batik [[967](https://github.com/JetBrains/lets-plot/issues/967)].
- Wrong tooltip position on `geom_segment()` with position adjustment [[963](https://github.com/JetBrains/lets-plot/issues/963)].
- `geomBoxplot()`: use `outlierAlpha` to boxplot outliers (not apply `alpha`).

4.5.0

Added

- Annotations in Barchart.

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.5.0/bar_annotations.ipynb).


- Common theme support in subplots (i.e. `gggrid()`) [[LPK-197](https://github.com/JetBrains/lets-plot-kotlin/issues/197)].

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.5.0/gggrid_theme.ipynb).


- `HCL` and `CIELAB` color space for hue color scale and gradient color scales [[876](https://github.com/JetBrains/lets-plot/issues/876)].

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.5.0/color_space_update.ipynb).


- New scale transformations: `'log2'` and `'symlog'`.

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.5.0/new_scale_transformations.ipynb).


- `plotMargin` parameter in `theme()` [[856](https://github.com/JetBrains/lets-plot/issues/856)].

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.4/theme_plot_margin.ipynb).


- Dual orientation for geometries:
- `geomErrorBar()`;
- `geomCrossbar()`;
- `geomPointRange()`;
- `geomLineRange()`;
- `geomRibbon()`.

See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.4/horizontal_geoms.ipynb).


Fixed

- Husl palette equivalent [[876](https://github.com/JetBrains/lets-plot/issues/876)].
- Tooltips are trimmed and not visible on a very narrow chart [[837](https://github.com/JetBrains/lets-plot/issues/837)].
- Exception label is unresizeble, uncopyable and uncontrollable [[902](https://github.com/JetBrains/lets-plot/issues/902)].
- Flickering during plot downsizing [[888](https://github.com/JetBrains/lets-plot/issues/888)].
- Bad default formatting of numeric values in annotations [[905](https://github.com/JetBrains/lets-plot/issues/905)].
- corr_plot: unexpected whitespace between the "geometry area" and the legend [[877](https://github.com/JetBrains/lets-plot/issues/877)].
- scale_log: an option to generate only breaks which are integer powers of 10 needed [[850](https://github.com/JetBrains/lets-plot/issues/850)].
- Trimmed legend when bounds of the rightmost X-axis tick label exceeds the axis length [[851](https://github.com/JetBrains/lets-plot/issues/851)].
- HTML files exported using ggsave() are missing the encoding specification [[900](https://github.com/JetBrains/lets-plot/issues/900)].
- `plot_margin` parameter in `theme()` [[856](https://github.com/JetBrains/lets-plot/issues/856)].
- Subplot themes not inherited by parent [[LPK-197](https://github.com/JetBrains/lets-plot-kotlin/issues/197)].
- `element_blank()` has no effect on plot title/subtitle/caption in `theme()` [[913](https://github.com/JetBrains/lets-plot/issues/913)].
- Lollipop in legend is disproportionately large [[LPK-216](https://github.com/JetBrains/lets-plot-kotlin/issues/216)].
- geomBar with fill, produces tooltips artefacts [[895](https://github.com/JetBrains/lets-plot/issues/895)].
- Exception, when trying to build plot with column name containing line breakes [[894](https://github.com/JetBrains/lets-plot/issues/894)].
- Added "grey" spelling for the gray color (earlier - "gray" only).

4.4.3

Added

- `geomCount()`/`statSum()` [[821](https://github.com/JetBrains/lets-plot/issues/821)].
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.3/geom_count.ipynb).
- `plotMessage` parameter in `theme(...)` [[863](https://github.com/JetBrains/lets-plot/issues/863)].
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.3/theme_plot_message.ipynb).
- KDocs for the stats.

Changed

- If layer transparency is set via the alpha-channel in the colors RGBA specification and via the `alpha` aesthetic, \
then the `alpha` aesthetic overrides the alpha-channel in the color. Previousely it was the opposite.

- `geomPie()` defaults:
- "stroke" is visible and `strokeSide="both"` (was `strokeSide="outer"`).
- the "hole" is not created automatically when `strokeSide = "both"/"inner"` (was created automatically).

- `geomBar()` now has solid outline color by default (was transparent).

- `geomTile()`, `geomBin2D()` now have solid outline color by default (was transparent).
- however, by default the `size` is 0 (i.e. tiles outline initially is not visible).

- [DEPRECATED] Function `statCount2d` has been renamed to `statCount2D`. The old name is deprecated.

Fixed

- `themeVoid()` + `flavorXxx()`: no expected plot background [[858](https://github.com/JetBrains/lets-plot/issues/858)].
- `geomTile()`, `geomBin2D()` : the `alpha` aesthetic is applied to the tiles outline.
- `scaleXDateTime()`: error building plot for early dates [[346](https://github.com/JetBrains/lets-plot/issues/346)].
- Inconsistent color in legend when using `paint_a/paint_b/paint_c` [[867](https://github.com/JetBrains/lets-plot/issues/867)].

4.4.2

Added

- Flavor-aware colors: **pen**, **brush** and **paper**
- By default, all geometries utilize new flavor-aware colors.
- Theme `geom` parameter allows redefinition of "geom colors": `theme(geom = elementGeom(pen, brush, paper))`.

See: [example notebook](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/geom_theme_colors.ipynb).


- Support for variadic line width and/or color in `geom_line()` and `geom_path()` [[LP-313](https://github.com/JetBrains/lets-plot/issues/313)].

Ses: [example notebook](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/aes_size_color_variadic_lines.ipynb).


- `themeVoid()`:
[example notebook](https://nbviewer.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/theme_void.ipynb)

- `statECDF()` :
[example notebook](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/stat_ecdf.ipynb).

- `geomFunction()` :
[example notebook](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/geom_function.ipynb).

- `statSummary()`:
[example notebook](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/stat_summary.ipynb).

- `statSummaryBin()`:
[example notebook](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/stat_summary_bin.ipynb).

- `Stat.sum()` statistic:
[example notebook](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/stat_sum.ipynb).

- `Stat.boxplotOutlier()` statistic:
[example notebook](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/stat_boxplot_outlier.ipynb).


- In tooltip customization API:\
`disableSplitting()` function [[189](https://github.com/JetBrains/lets-plot-kotlin/issues/189)].

[example notebook](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/tooltips_disable_splitting.ipynb).


- In `geomPie()`:
- `stroke` and `color` aesthetics - the width and color of pie sector arcs.
- `strokeSide` parameter - which arcs to show (inner, outer, both).
- `spacerWidth` and `spacerColor` parameters - lines between sectors.

See: [example notebook](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/geom_pie_stroke_and_spacers.ipynb).

- `sizeUnit` parameter : [example notebook](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/geom_pie_size_unit.ipynb).


Changed

> Note: Due to major package refactoring in the main Lets-Plot library, this version (4.4.2) of the Kotlin API\
> is not compatible with versions of Lets-Plot library v3.2.0 and earlier.

- The default qualitative color palette is now [Color Brewer "Set1"](https://colorbrewer2.org/#type=qualitative&scheme=Set1&n=9) (was ["Set2"](https://colorbrewer2.org/#type=qualitative&scheme=Set2&n=8))
- Geometries default colors are now flavor-dependent: [example notebook](https://nbviewer.jupyter.org/github/JetBrains/lets-plot-kotlin/blob/master/docs/examples/jupyter-notebooks/f-4.4.2/geom_theme_colors.ipynb).
- 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] Kotlin/JS **LEGACY** apps are no longer supported.

- [BREAKING] `geomPie()` no longer supports parameter `strokeColor`.
- [BREAKING] `geomBoxplot()` no longer support parameter `sampling`.
- [BREAKING] `geomPointRange()`: size aesthetic shouldn't affect line width [[751](https://github.com/JetBrains/lets-plot/issues/751)]:\
`linewidth` aesthetic is now used for the line width, `size` - for mid-point size only.

- `geomBoxplot()`: `size` and `stroke` parameters now affect outlier shapes.


Fixed
- ggsave: saving geomImshow() to SVG produces fuzzy picture [[188](https://github.com/JetBrains/lets-plot-kotlin/issues/188)].
- `geomCrossbar()` aesthetics take `middle` argument instead of `y` [[804](https://github.com/JetBrains/lets-plot/issues/804)].
- `geomBoxplot()` doesn't apply alpha to outliers [[754](https://github.com/JetBrains/lets-plot/issues/754)].
- `geomBoxplot()`: outliers do not show tooltips.
- `geomBoxplot()`: some strange outliers drawn here [[143](https://github.com/JetBrains/lets-plot-kotlin/issues/143)].
- `geomStep()`: no tooltips.
- `geomStep()`: add 'tooltips' parameter [[195](https://github.com/JetBrains/lets-plot-kotlin/issues/195)].
- `geomStep()`: toggle the behavior of the `direction` parameter when the orientation is changed.
- `geomRibbon()`: not all tooltips are shown on a multi-layer plot [[847](https://github.com/JetBrains/lets-plot/issues/847)].
- Bug in empty plot: IndexOutOfBoundsException [[194](https://github.com/JetBrains/lets-plot-kotlin/issues/194)].
- How to remove side tooltips without anchor? [[189](https://github.com/JetBrains/lets-plot-kotlin/issues/189)].

Page 1 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.