Skip to content

JetBrains/lets-plot

Repository files navigation

Lets-Plot

official JetBrains project License MIT Latest Release

Lets-Plot is a multiplatform plotting library based on the Grammar of Graphics.

The library' design is heavily influenced by Leland Wilkinson work The Grammar of Graphics describing the deep features that underlie all statistical graphics.

This grammar [...] is made up of a set of independent components that can be composed in many different ways. This makes [it] very powerful because you are not limited to a set of pre-specified graphics, but you can create new graphics that are precisely tailored for your problem.

We provide ggplot2-like plotting API for Python and Kotlin users.

Lets-Plot for Python Latest Release

A bridge between R (ggplot2) and Python data visualization.
To learn more see the documentation site at lets-plot.org.

Lets-Plot Kotlin API Latest Release

Notebooks

Create plots in Kotlin Notebook, Datalore, Jupyter with Kotlin Kernel
or any other notebook that supports Kotlin Kernel.
To learn more see the Lets-Plot Kotlin API project at GitHub.

Compose Multiplatform

Embed Lets-Plot charts in Compose Multiplatform applications.
To learn more see the Lets-Plot Skia Frontend project at GitHub.

JVM and Kotlin/JS

Embed Lets-Plot charts in JVM (Swing, JavaFX) and Kotlin/JS applications. \ To learn more see the Lets-Plot Kotlin API project at GitHub.

"Lets-Plot in SciView" plugin

JetBrains Plugins JetBrains plugins

Scientific mode in PyCharm and in IntelliJ IDEA provides support for interactive scientific computing and data visualization.

Lets-Plot in SciView plugin adds support for interactive plotting to IntelliJ-based IDEs with the Scientific mode enabled.

Note: The Scientific mode is NOT available in communinty editions of JetBrains IDEs.

Also read:

What is new in 4.0.0

The major version was bumped to 4 due to a major package refactoring that the project has undergone.
This refactoring doesn't affect the Python API, however, 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.

A Number of Geometry Defaults Changed

  • The default qualitative color palette is now Color Brewer "Set1" (was "Set2").
  • Slightly bigger default size of points and width of lines.
  • Flavor-aware default colors for points, lines etc.

f-23c/images/geom_defaults.png


f-23c/images/flavor_geom_colors.png

See: example notebook.

  • Size of points is slightly adjusted to match the width of a line of the same "size".

f-23c/images/point_vs_line.png


Support for Variadic Line Width and/or Color in geom_line() and geom_path()


f-23c/images/variadic_width.png

See: example notebook.

Parameter "size_unit" in geom_pie()

A way to specify size of the pie in units relative to the plot size.

See: example notebook.

Stroke and Spacers in geom_pie()


f-23c/images/pie_stroke.png

See: example notebook.

New theme_void(), Geometries and Statistics

Change Log

See CHANGELOG.md for other changes and fixes.

Code of Conduct

This project and the corresponding community are governed by the JetBrains Open Source and Community Code of Conduct. Please make sure you read it.

License

Code and documentation released under the MIT license. Copyright © 2019-2023, JetBrains s.r.o.