应该使用哪个 android 视图来显示 jetbrains.letsPlot() + geomHistogram() -对象?

Which android view should be used to display a jetbrains.letsPlot() + geomHistogram() -object?

我在 Kotlin Android 应用程序的 activity.xml 中包含一个绘图对象(由 jetbrains.letsPlot() + geomHistogram() 生成)时遇到了一些问题。我熟悉基本的 activity 元素,但我不知道在这种情况下使用哪个元素,我无法使用 https://github.com/JetBrains/lets-plot.

弄清楚

非常感谢任何帮助!

您可以使用 Android' WebView 来显示绘图。

jetbrains.letsPlot() + geomHistogram() 生成一个 Figure 对象。

首先,您必须使用 toSpec() 方法将其转换为简单的 Map 对象:

        val spec = when (plot) {
            is Plot -> plot.toSpec()
            else -> (plot as GGBunch).toSpec()
        }

接下来,您将使用 PlotHtmlHelper:

生成一个字符串(plot HTML 表示)
val html = PlotHtmlHelper.getStaticDisplayHtmlForRawSpec(spec)

这样就可以生成网页并加载到WebView。该页面还应包含用于加载 Lets-Plot JS 库的脚本标记。

代码可能看起来类似于此(但使用较新的库版本 - 当前为 2.2.1):https://github.com/JetBrains/lets-plot-kotlin/blob/master/demo/browser/src/main/kotlin/frontendContextDemo/BrowserDemoFrontendContext.kt

如果您正在使用 Kotlin/JS,您可能还想看看这个例子:https://github.com/alshan/lets-plot-mini-apps/blob/main/js-ir-frontend-app/src/main/kotlin/Main.kt