Skip to main content

An open source library for statistical plotting

Project description

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

lets_plot-4.1.0rc1-cp312-cp312-win_amd64.whl (2.5 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

lets_plot-4.1.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

lets_plot-4.1.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

lets_plot-4.1.0rc1-cp312-cp312-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

lets_plot-4.1.0rc1-cp312-cp312-macosx_10_9_x86_64.whl (3.0 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

lets_plot-4.1.0rc1-cp311-cp311-win_amd64.whl (2.5 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

lets_plot-4.1.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

lets_plot-4.1.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

lets_plot-4.1.0rc1-cp311-cp311-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

lets_plot-4.1.0rc1-cp311-cp311-macosx_10_9_x86_64.whl (3.0 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

lets_plot-4.1.0rc1-cp310-cp310-win_amd64.whl (2.5 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

lets_plot-4.1.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

lets_plot-4.1.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

lets_plot-4.1.0rc1-cp310-cp310-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

lets_plot-4.1.0rc1-cp310-cp310-macosx_10_9_x86_64.whl (3.0 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

lets_plot-4.1.0rc1-cp39-cp39-win_amd64.whl (2.5 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

lets_plot-4.1.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

lets_plot-4.1.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

lets_plot-4.1.0rc1-cp39-cp39-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

lets_plot-4.1.0rc1-cp39-cp39-macosx_10_9_x86_64.whl (3.0 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

lets_plot-4.1.0rc1-cp38-cp38-win_amd64.whl (2.5 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

lets_plot-4.1.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

lets_plot-4.1.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

lets_plot-4.1.0rc1-cp38-cp38-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

lets_plot-4.1.0rc1-cp38-cp38-macosx_10_9_x86_64.whl (3.0 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

lets_plot-4.1.0rc1-cp37-cp37m-win_amd64.whl (2.5 MB view hashes)

Uploaded CPython 3.7m Windows x86-64

lets_plot-4.1.0rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

lets_plot-4.1.0rc1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

lets_plot-4.1.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl (3.0 MB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page