如何编写无前端无Gradle的Kotlin lets-plot最小示例导出PNG
最小Lets-Plot PNG导出示例及报错修复
依赖配置修正
Unresolved reference: letsPlot报错是因为你仅引入了lets-plot-common核心包,该包不包含顶层API入口和导出能力,需要在pom.xml中补充以下依赖:
<dependencies> <!-- Lets-Plot核心公共依赖 --> <dependency> <groupId>org.jetbrains.lets-plot</groupId> <artifactId>lets-plot-common</artifactId> <version>2.1.0</version> </dependency> <!-- Kotlin API入口依赖 --> <dependency> <groupId>org.jetbrains.lets-plot</groupId> <artifactId>lets-plot-kotlin-jvm</artifactId> <version>3.1.0</version> </dependency> <!-- 无前端PNG导出依赖 --> <dependency> <groupId>org.jetbrains.lets-plot</groupId> <artifactId>lets-plot-batik</artifactId> <version>2.1.0</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jdk8</artifactId> <version>1.7.0</version> </dependency> </dependencies>
最小运行代码
import org.jetbrains.letsPlot.export.ggsave import org.jetbrains.letsPlot.geom.geomPoint import org.jetbrains.letsPlot.letsPlot fun main() { // 构造测试数据 val data = mapOf( "x" to listOf(1.0, 2.0, 3.0, 4.0, 5.0), "y" to listOf(1.5, 3.2, 1.8, 4.2, 2.9) ) // 构建散点图,无需启动任何前端服务 val plot = letsPlot(data) + geomPoint { x = "x" y = "y" size = 5.0 color = "dark-blue" } // 直接导出为PNG文件到项目根目录 ggsave( plot = plot, filename = "demo_plot.png", path = "./", dpi = 300, scale = 2.0 ) }
运行成功后你可以在项目根目录找到生成的demo_plot.png文件,全程不需要启动任何前端服务。
注意事项
- 所有lets-plot相关依赖的版本要保持兼容,避免出现类不兼容错误
- 如果使用Gradle构建,按照对应格式替换依赖即可,代码逻辑完全一致
内容的提问来源于stack exchange,提问作者E. Nerush
相关产品推荐
相关产品推荐

