应该使用哪个 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
我在 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
:
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