Kandy是一个用于Kotlin的开源绘图库,提供了一个功能强大和灵活的DSL来创建图表,并使用各种流行的绘图引擎。
- 跨平台兼容性 - 可以在各种平台上无缝工作,包括IntelliJ IDEA、Datalore和Jupyter等。
- Swing渲染 - 在Kotlin Notebook插件中提供Swing渲染输出。
- 交互式图表功能 - 包括HTML和Swing渲染图表的交互式工具提示。
- 多种格式导出 - 允许以SVG、PNG、HTML、JPG/JPEG和TIFF等格式保存图表。
- Kotlin集合和DataFrame支持 - 无缝集成Kotlin集合,允许使用Kotlin DataFrame构建图表,特别适合于分层数据框。
- 类型和空安全 - 确保类型安全和Kotlin空安全。
灵感来自《图形语法》。
快速入门
在Kotlin Notebook、Datalore或Jupyter with Kotlin Kernel中:
%use kandy
plot {
bars {
x(listOf("first", "second", "third"))
y(listOf(7, 3, 5))
}
}
有关入门指南、更多示例和教程,请参阅我们的文档。
line { 宽度 = 3.0 // 设置线宽 颜色 = 颜色.十六进制("#6e5596") // 定义线条颜色 类型 = 线条类型.点划线 // 指定线条类型 }
布局 { // 设置绘图布局
标题 = "使用kandy-lets-plot的简单绘图" // 添加标题
// 添加说明
说明 = "更多复杂和有趣的示例请参见examples
部分!"
大小 = 700 到 450 // 设置绘图尺寸
}
}
你可以获取此示例的notebook、 Datalore notebook 或Kotlin项目。
ECharts
val dataset = mapOf(
"days_of_week" to listOf("周一", "周二", "周三", "周四", "周五", "周六", "周日"),
"蒸发量" to listOf(2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6),
"降水量" to listOf(2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6),
"温度" to listOf(2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3)
)
plot(dataset) {
x("days_of_week"<String>())
柱状图 {
名称 = "降水量"
y("降水量"<Double>()) { 比例 = 连续(0.0..200.0) }
颜色("温度"<Double>()) { 比例 = 连续(范围 = 颜色.灰色..颜色.蓝色) }
标签 {
位置 = 标签位置.上方
格式化程序 = "{@降水量} ml"
}
}
折线 {
名称 = "蒸发量"
y("蒸发量"<Double>())
符号 = 图形.钻石(20.0)
}
布局 {
标题.文本 = "每周降水量和蒸发量"
图例 {
左 = 50.pct
下 = 0.px
}
}
}
你可以获取此示例的notebook、 Datalore notebook 或Kotlin项目。
更多使用此库的示例可以在这里找到。