You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写无前端无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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:06:03