Get Started#

JB Official Latest release MIT License

Python versions: 3.8-3.13

OS: Linux, macOS, Windows

Installation#

pip install lets-plot

Quick Start#

 1import numpy as np
 2from lets_plot import *
 3LetsPlot.setup_html()
 4
 5np.random.seed(12)
 6data = dict(
 7    cond=np.repeat(['A', 'B'], 200),
 8    rating=np.concatenate((np.random.normal(0, 1, 200), np.random.normal(1, 1.5, 200)))
 9)
10
11ggplot(data, aes(x='rating', fill='cond')) + ggsize(700, 300) + \
12    geom_density(color='dark_green', alpha=.7) + scale_fill_brewer(type='seq') + \
13    theme(panel_grid_major_x='blank')
 1import numpy as np
 2from lets_plot import *
 3LetsPlot.setup_html()
 4
 5np.random.seed(12)
 6data = dict(
 7    cond=np.repeat(['A', 'B'], 200),
 8    rating=np.concatenate((np.random.normal(0, 1, 200), np.random.normal(1, 1.5, 200)))
 9)
10
11background = element_rect(fill='#14181e')
12ggplot(data, aes(x='rating', fill='cond')) + ggsize(700, 300) + \
13    geom_density(color='dark_green', alpha=.7) + scale_fill_brewer(type='seq') + \
14    flavor_high_contrast_dark() + \
15    theme(panel_grid_major_x='blank', plot_background=background, legend_background=background)

User Guide#

Coding for Economists by Arthur Turrell

Python4DS by Arthur Turrell

  • Data Visualisation - will teach you how to visualise your data using using Lets-Plot.

  • Layers - a deeper dive into aesthetic mappings, geometric objects, and facets.

  • Exploratory Data Analysis - search for answers by visualising, transforming, and modelling your data.

Explore Your Data with Lets-Plot#

Key Features#

../_images/ggplot2.png

Inspired by ggplot2

A faithful port of R’s ggplot2 to Python.

You can learn R’s ggplot2 and the grammar of graphics in the “ggplot2: Elegant Graphics for Data Analysis” book by Hadley Wickham.

../_images/kotlin.svg

Multiplatform

A Grammar of Graphics for Python - works in Python notebooks (Jupyter, Datalore, Kaggle, Colab, Deepnote, Nextjournal) as well as in PyCharm and Intellij IDEA IDEs.

A Grammar of Graphics for Kotlin - a Kotlin multiplatform visualization library which fulfills your needs in the Kotlin ecosystem: from Kotlin notebooks to Compose-Multiplatform apps.

../_images/geospatial-visualization-light.svg ../_images/geospatial-visualization-dark.svg

Geospatial Visualization

Find spatial objects with the help of our powerful and easy to use Geocoding module. In case you already have GeoDataFrame on hand - plot it straight away.

../_images/interactive-maps.svg

Interactive Maps

Interactive maps allow zooming and panning around your geospatial data with customizable vector or raster basemaps as a backdrop. Learn more.

../_images/tooltips-light.svg ../_images/tooltips-dark.svg

Customizable Tooltips and Annotations

You can customize the content, values formatting and appearance of tooltip and annotation for layers of your plot.

../_images/formatting-light.svg ../_images/formatting-dark.svg

Formatting

Lets-Plot supports formatting of numeric and date-time values in tooltips, annotations, legends, on the axes and text geometry layer. Learn more.

../_images/export-light.svg ../_images/export-dark.svg

Export to SVG, HTML, PNG and PDF

Use the ggsave() function to save your plot to a file. Alternatively, leverage the to_svg(), to_html(), to_png(), or to_pdf() methods of the plot object to save it to a file or an in-memory file-like object. Learn more.

../_images/show-ext-light.png ../_images/show-ext-dark.png

Option to Display Plots in External Browser

With the “show externally” mode enabled, you can easily display a plot in an external browser by invoking its show() method. Learn more.

../_images/sampling-light.svg ../_images/sampling-dark.svg

Sampling

Sampling is a special technique of data transformation, which helps to deal with large datasets and overplotting. Learn more.

../_images/offline-mode-light.svg ../_images/offline-mode-dark.svg

‘No Javascript’ and Offline Mode

In the ‘no javascript’ mode Lets-Plot generates plots as bare-bones SVG images. Plots in the notebook with option offline=True will be working without an Internet connection. Learn more.