All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- The
alpha
parameter for lines [#139]. - Tooltips for
geom_segment()
[#296]. - The
guides()
function [#52]. - New Java Swing plot components to enable embedding Lets-Plot charts into JVM applications.
- See:
vis-swing-common, vis-swing-batik, vis-swing-jfx
modules.
- See:
- Fix auto-detection of PyCharm env to enable plotting in SciView while using remote interpreter [348]
- Fix tooltips appearing outside the specified x/y limits.
- Clippath in accordance to the given limits [#189].
- Treat a data as DataFrame if both data and map are GeoDataFrames [#343].
- Removed the restriction on tooltips for small polygons [#298].
- The x/y axis labels are derived from x/y aesthetics only [#333].
- Merge 'theme' settings [#147].
- Add axis tooltips for
geom_bin2d
. - Outlier tooltips for
geom_ribbon()
. - Fix tooltip crosshair [#309].
-
Python 3.9 support on all platforms.
-
facet_wrap()
function [#238] -
In facets:
- Ascending/descending ordering of faceting values.
- Formatting of faceting values.
See: Facets demo
-
In tooltip customization API:
- option
color
overrides the default tooltip color:geom_xxx(tooltips=layer_tooltips().color('red'))
See: Tooltip Customization.
- option
-
Crosshair cursor when tooltip is in fixed position specified by the
anchor
option. -
Scale
format
parameter: formatting tick labels on X/Y axis. Supported types arenumber
anddate/time
.Example:
scale_x_datetime(format="%b %Y") scale_x_continuous(format='is {.2f}')
Demo: Formatting demo
See also: Formatting
-
[breaking change] New Geocoding API!
Since Lets-Plot v2.0.0 the peviouse Geocoding API is no longer working (hence we bumped the version to 2.0.0).
The old version of the Geocoding backend remains on-line for a couple of release cycles to continue support of prior versions of Lets-Plot.
To learn more about Geocoding API see: Geocoding.
-
The project upgraded to Kotlin v1.4.21 (was v1.4.10).
- Kernel density estimate computation is too slow.
- Serialize NaN and other special values as None (CRITICAL for the "Lets-Plot in SciView" PyCharm plugin) [#282].
- Error in plot building: 'trans' parameter not compatible with None values in data [#287].
- LOESS smoothing fails on small (<3) number points.
- Facet grid truncated in jupyter [#28].
- The
reverse
parameter on discrete scale with 'limits' [#303]. - Geocoder's
allow_ambiguous()
doesn't prevent "ValueError: Multiple objects.." [#174]. - Fix tooltip for overlapping objects [#230].
- Fix duplicate values in tooltip [#280].
- geom_histogram should not try to handle geometries in GeoDataFrame [#281].
- Error building plot: Layer 'MAP' is not supported on Live Map. [#285].
- Align title to the left of the plot geom area [#289].
- Tooltip on
geom_ribbon()
.
- “Symbol not found: _NSGenericException” error on macOS [#276].
-
Correlation plot.
See: The 'bistro' Package.
-
'No Javascript' mode.
Support for notebook renderers that don't execute Javascript.
See: 'No Javascript' mode
-
In tooltip customization API:
- options:
center
andmiddle
(anchor). - option 'minWidth'.
See: Tooltip Customization.
- options:
-
'na_text' parameter in 'geom_text'
-
Tooltip customization API:
- The
anchor
option moved fromtheme
tolayer
:wheregeom_xxx(tooltips=layer_tooltips().anchor(anchor_value))
anchor_value
:['top_right'|'top_center'|'top_left'|'bottom_right'|'bottom_center'|'bottom_left'|'middle_right'|'middle_center'|'middle_left']
.
See: Tooltip Customization.
- The
- Tooltip should appear when the mapped data is continuous [#241]
- Tooltip 'null' displayed for undefined vals [#243]
- Y-tooltip should be aligned with a tile center [#246]
- With
facet_grid
tooltip shows data from last plot on all plots [#247]
- [breaking change] In functions
format(field, format)
andline(template)
in tooltip builder, the '$' symbol is no longer used in aesthetic reference. It was replaced by the '^' (hat) symbol (see the udated doc: Tooltip Customization). - The project upgraded to Kotlin v1.4.10 (was v1.3.72).
- No tooltip on v-line [#229]
- Facilities for customization of tooltip contents and its position (see Tooltip Customization).
attribution
and other new parameters in themaptiles_zxy()
function.label_format
parameter in thegeom_text()
function.scale_x_discrete_reversed()
/scale_y_discrete_reversed()
ggsave()
function (only SVG, HTML)
- Mercator's projection computes coordinates incorrectly (
geom_map(), coord_map()
) - Handling of
xlim,ylim
incoord_fixed(), coord_map()
- Colorbars: take in account limits defined in continuous color/fill scales.
scale_color_hue
incorrectly interprets chroma range [#206].scale_color_brewer
shouldn't fail if 'type' is not specified [#203].scale_fill_discrete
should not replace the default discrete scale (Brewer) with 'HUE' scale [#172].
- Lets-plot vector map-tiles are configured by default.
- PACIFIC_BLUE color (#118ED8) replaced DARK_BLUE as a default color/fill value on plots.
- Default discrete color scheme is now ColorBrewer's Set2 (was Dark2)
-
Function
gg_image_matrix()
. The new function is:image_matrix()
in thelets_plot.bistro.im
module. The new function is not any longer displaying matrix by itself but returns a GGBunch object instead. Unlike the depricatedgg_image_matrix()
function, it is not imported byfrom lets_plot import *
statement.Usage:
from lets_plot.bistro.im import image_matrix image_matrix()
- map_titanic.ipynb : UnboundLocalError: local variable 'map_join' referenced before assignment [#182]
- Add the
map_join
parameter to all geoms which supportmap
parameter (py) [#183]
- scale_x_reverse() / scale_y_reverse()
- Mnemonics for the
resolution
parameter in theregions.boundaries()
function.
- Exception when using
coord_map
withxlim
[#173] - Clipped tooltip [#155]
- Text on axis is clipped after hiding the tick-marks in theme [#160]
- Tooltip on x axis with no title shouldn't be above the axis line [#161]
- NPE while creating scale mapper when data series contains only nulls.
- Default Geocoding server url.
- geocoding package
- NPE on geom_tile when data contains null-s.
- The order of values in the
limits
parameter on discrete scales is ignored. - Livemap is not shown in GGBunch.
- Plugin for IntelliJ IDEA / PyCharm is available. For more info see the plugin homepage: Lets-Plot in SciView.
- Plots build time reduced (up to 4X)
geom_smooth
: automatic sampling when n>1000 and the method is LOESS.
- 'map_join' fails when the
map
argument is a dictionary [#130]
- HTML output was modified allow better integration with PyCharm.
- The deprecated method 'load_lets_plot_js()'.
- Support for interactive maps.
- The
as_discrete()
function. - Polynomial regression of an arbitrary degree (the
lm
smoothing method) in geom_smooth. axis_tooltip
,axis_tooltip_x
,axis_tooltip_y
parameters intheme()
- Kaggle and Datalore notebook demos.
- Severe performance degradation when using discrete scales [#119].
- Opaque background to better support PyCharm dark theme [#121].
- Auto-detection of a Kaggle environment.
- Limits on the maximum plot size [#115].
- Installation instructions for Windows users [#118 MinGW].
- More slick shape for tooltips on the axis.
- Python 3.6 support.
- Windows platform support.
- SVG/HTML export to file.
- Offline mode for Jupyter notebooks.
- Support for cloud-based notebooks like Google Colab and Datalore.
- JVM Maven artefacts released.
- Tooltip on
geom_rect
andgeom_vline
. - Error when date-time series contains
NaT
value.
- Optional
load_lets_plot_js()
function is now deprecated. - Initialisation call
LetsPlot.setup_html()
is now mandatory in Jupyter.
- tooltip not showing in geom_polygon
- geopandas support in geoms: point, path, polygon, rect, text.
- support for LOESS smoothing method in geom_smooth.
- new geometry layers: geom_crossbar, geom_linerange, geom_pointrange, geom_bin2d.
- support for coordinate stystem xlim, ylim parameters (i.e. "clipping").
- Was not working
weight
parameter in stats: bin, count, bin2d, density, density2d - incorrect tooltip line 'NaN' in geom_boxplot.
- ambiguous tooltip positioning in geoms: tile, bin2d.
- cropped text in tooltip.
- GGBunch. Combines several different plots into one graphical object.
- geom_image(). Displays an image specified by ndarray with shape (n,m) or (n,m,3) or (n,m,4).
- gg_image_matrix(). A utility helping to combine several images into one graphical object.
- user_guide.ipynb
- ggbunch.ipynb
- scatter_matrix.ipynb
- image_101.ipynb
- image_fisher_boat.ipynb
- image_matrix.ipynb
- Switched to Kotlin 1.3.61
- scale_datetime(). Date-time formatting in tooltips.
- Links in README_PYTHON.md
- First public release.