Releases: Kotlin/kandy
v0.8.3
This is a technical release, fully compatible with Kotlin DataFrame 1.0.0-Beta4.
The Kandy statistics module now uses the same version as the main Kandy artifact.
To use it in a Notebook:
%use kandy(0.8.3, 0.8.3)Or simply load the latest available descriptors:
%useLatestDescriptors
%use kandy- If you want to include
dataframe, list it beforekandy:
%useLatestDescriptors
%use dataframe, kandy
// or
%use dataframe(1.0.0-Beta4n), kandy(0.8.3, 0.8.3)- New
dataframeandkandyversions are not supported by older Kotlin Jupyter kernel versions.
Please use kernel0.16.0-736or newer.
Versions
- Kandy statistics -
0.8.3 - Kotlin Notebook - IDEA 2025.2 or newer;
- Jupyter Kernel -
0.16.0-736or newer; - Kotlin DataFrame -
1.0.0-Beta4in Gradle projects /1.0.0-Beta4nin notebooks;
Changes
This release also includes several small but important improvements - many thanks to our wonderful contributors!
Features
- Added size check to
breaksLabeled()by @mutokrm in #471 - Added
DataColumnAPI for breaks in Legend/Axis by @CarloMariaProietti #486
Fixes
- Fixed typo on FAQ link to issue on Compose Multiplatform support by @jrgonzalezg in #493
- Added missing lets-plot artifacts by @AndreiKingsley in #494
- Added
saveDfHtmlSample()for DataFrameHtmlData by @koperagen in #503
Documentation
- Updated geo guide & gallery by @AndreiKingsley in #472
New Contributors
- @mutokrm made their first contribution in #471
- @jrgonzalezg made their first contribution in #493
- @koperagen made their first contribution in #503
- @CarloMariaProietti made their first contribution in #486
Full Changelog: v0.8.0...v0.8.3
v0.8.0
v0.8.0: Geoplotting
In this release of Kandy, we’re excited to announce the debut of our geodata plotting API. With the introduction of GeoDataFrame and Kandy-Geo, you can now effortlessly visualize geospatial data using the familiar Kandy DSL. This allows for flexible and detailed customization to meet your specific needs.
This marks the first step in enhancing geoplotting capabilities, and we’re eager to hear your feedback to help shape future improvements. See user guide to get introduced to geo-plotting and learn how to create geographic visualizations using Kandy.
Compatible with DataFrame v0.15.0 and statistics v0.4.0.
See the code for this plot and many others in the geo plots gallery.
kandy-lets-plot
Added
coordinatesTransformation(#100). See API reference.polygonlayer (#440). See API reference.withData. See API reference.varargsupport in positional scales (#426) by @lucas-watkins .insetparameter in plot canvas styles (#406) by @lucas-watkins .
Changed
limitswas moved underaxis:
x.axis.limits = ...
y {
axis {
limits = ...
}
}
Fixed
- Axis limits behaviour (#342). Now
axis.limits(as well as a new alternative APIaxis.minandaxis.max) sets actual plot axis limits aligned with the selected coordinates transformation.
kandy-geo
Introducing a new kandy-geo module that enables seamless plotting of GeoDataFrame and JTS geometries (#280, #441). This addition simplifies the visualization of geospatial data, providing intuitive and efficient tools for rendering geographic shapes and data directly on plots.
See user guide and examples gallery.
0.7.1
0.7.0
Kandy 0.7.0
This release was mainly focused on technical debt and internal API improvements. Nevertheless, the result of this was noticeably reflected in the public API - in particular, all internal DSL properties were hidden, which will further improve the quality when working with completion in the IDE and library exploring.
Changed
- Global refactoring of Kandy Internal API (#378, #379, #380, #381, #382). The structure of classes and interfaces has been significantly redesigned. This has almost no effect on the Public API (Kandy DSL), except that all internal properties are no longer publicly available (#163). If you have been using Kandy Internal API, we are ready to help you with migration, please contact us.
Added
- Added
spacerWidthsetting missing in pie charts (#385). - Added
typeline parameter for custom styles (#334).
Fixes
- Fixed scale for area and bars (#236).
- Fixed border line type for tiles (#375).
middlein boxes andyin crossBars are optional (#322).- Several fixes in Kotlin Notebook:
Documentation
Other
- All
TODOs were removed from the code by moving them to issues (#398).
We always welcome your contributions. Simple (but no less important) issues are labeled with . You can find them here.
v0.6.0
Added
- Added candlestick plot (#149, #278). See documentation (guide and examples).
- Added extensions
Plot.toSVG(),Plot.toPNG(),Plot.toHTML()(#293). - Fixed tooltips behaviour (#156, #266). Now explicitly assigning tooltips removes side tooltips.
- Added boxes new whiskerWidth parameter (#299).
- Added void theme (#310).
- Added margin text parameter (#323).
- Added viridis color scales (#301).
- Added new scales transformations (#311).
- Added scale/axis position option (#306).
- Added extension functions to export plots to JPG and PNG as
ByteArray(#325) by @gulshanpatidar.
Changed
- Fixed naming of flavor/color scheme/theme (#127). Related properties was renamed:
flavor/Flavor->theme/ThemeapplyColorScheme->applyThemetheme/Theme->style/Style
hide: Booleanargument intooltips()was replaced withenable: Booleanwith the opposite behavior.
Fixed
- Tooltip bug (#136)
Documentation
- Added candlestick guide and examples (#149, #278).
- Added documentation for api of layers and statistical transformations (#314).
- Added FAQ section to documentation (#281).
- Fixed duplicating links on getting start page (#313) by @TCampbellSL.
v0.5.0
Api changes:
- Stabilized core API - plot DSL:
- plot creation with
plot {}andDataFrame.plot {} - layers adding with
LayerPlotContext.points {}and other layer functions - mappings (via function invocation) and settings(via var assignment) API
- plot creation with
- Most of internal API in DSL are hidden(#163)
- Statistics was removed from
kandy-lets-plot. The statistics have been reworked and separated into the new repository (private yet) and artifact. - Restructured packages
Documentation
- All public APIs are documented with KDoc.
- New user documentation is written and available on kotlin.github.io/kandy/
- Also new example gallery is available on kotlin.github.io/kandy/examples
Fixes and improvements
- Fix bugs with plot dataset
- Fix web outputs
- Type parameters in scale creation functions are reordered according to arguments(#206)
- Add scale type bound for aes (#96)
- The static SVG view has been improved: it has become scalable and fitting.
- Small API improvements
Note!
0.4.4
New dataset system: by default layer uses global dataset, but if user makes a first mapping from new source whose size differs from the length of the global dataset columns, the leer creates a new dataset
0.4.3: github compatible plot view
Now lets-plot kandy plots in notebooks are displayed on github in svg format. Check it out:
https://github.com/Kotlin/kandy/blob/main/examples/notebooks/lets-plot/lets_plot_cheatsheet.ipynb
0.4.2: minor improvements
0.4.1
group by dataset handler test