Releases: Kotlin/kandy
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.polygon
layer (#440). See API reference.withData
. See API reference.vararg
support in positional scales (#426) by @lucas-watkins .inset
parameter in plot canvas styles (#406) by @lucas-watkins .
Changed
limits
was moved underaxis
:
x.axis.limits = ...
y {
axis {
limits = ...
}
}
Fixed
- Axis limits behaviour (#342). Now
axis.limits
(as well as a new alternative APIaxis.min
andaxis.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
spacerWidth
setting missing in pie charts (#385). - Added
type
line parameter for custom styles (#334).
Fixes
- Fixed scale for area and bars (#236).
- Fixed border line type for tiles (#375).
middle
in boxes andy
in crossBars are optional (#322).- Several fixes in Kotlin Notebook:
Documentation
Other
- All
TODO
s 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
/Theme
applyColorScheme
->applyTheme
theme
/Theme
->style
/Style
hide: Boolean
argument intooltips()
was replaced withenable: Boolean
with 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
0.4.0
anscombes_quartet notebook