- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想嵌入 Tablesaw使用 IJava 的 Jupyter Notebook 中的交互式图表核心。我意识到 Tablesaw 可能无法开箱即用,但我愿意付出一些努力来实现这一点。我是 Java 专家,但我是 Jupyter Notebook 和 IJava 内核的新手,所以我不确定从哪里开始。是否有一些用于 Jupyter Notebook 或 IJava 的 API 用于嵌入对象?
首先,我安装了 Anaconda,然后在 Jupyter Notebook 中安装了 IJava 内核,没有任何问题。到目前为止,它在 Windows 10 上使用 OpenJDK 11 工作顺利!接下来我尝试使用 Tablesaw。我能够添加它的 Maven 依赖项、加载 CSV 文件并创建绘图。非常好!
然而,为了生成图表,Tablesaw 使用 Plotly 生成一个临时 HTML 文件,并调用浏览器来显示交互式图表。换句话说,图表不会出现在 Jupyter Notebook 中。
Tablesaw 有一个 example with embedded graphs使用 BeakerX内核(不是 IJava),并且如您所见(向下滚动到“使用线性回归玩(金钱)球”),他们嵌入了一个 Tablesaw Plot
直接在 Jupyter Notebook 中。所以我知道从概念上讲,在具有 Java 内核的 Jupyter Notebook 中嵌入交互式 Tablesaw 图形是可能的。
此功能是 BeakerX 特有的吗?我会切换到 BeakerX,但从文档中我没有看到任何关于 BeakerX 支持 Java 9+ 的信息。此外,IJava 似乎是一个更精简的实现,直接构建在 JShell 之上。
我从哪里开始弄清楚如何使用 IJava 内核将 Tablesaw Plot
对象作为交互式图形嵌入到 Jupyter Notebook 中,就像他们在 BeakerX 中所做的那样?
最佳答案
IJava 内核有两个主要功能 display_data
; display
和 render
.两者都挂入Renderer
来自 base kernel .我们可以为 Figure
注册一个渲染函数。从台锯上打字。
通过 loadFromPOM
添加 tablesaw-jsplot 依赖项(以及所有必需的传递依赖项)细胞魔法:
%%loadFromPOM
<dependency>
<groupId>tech.tablesaw</groupId>
<artifactId>tablesaw-jsplot</artifactId>
<version>0.30.4</version>
</dependency>
为 IJava
注册一个渲染函数的渲染器。
tech.tablesaw.plotly.components.Figure
创建了一个注册.text/html
(通过 preferring
电话)。<div>
以及调用 plotly 渲染到 <div>
中的 javascript .大部分逻辑是通过 tablesaw 的 asJavascript
完成的方法,但 Hook 到 Jupyter notebook 的 require
AMD 模块设置。import io.github.spencerpark.ijava.IJava;
IJava.getKernelInstance().getRenderer()
.createRegistration(tech.tablesaw.plotly.components.Figure.class)
.preferring(io.github.spencerpark.jupyter.kernel.display.mime.MIMEType.TEXT_HTML)
.register((figure, ctx) -> {
ctx.renderIfRequested(io.github.spencerpark.jupyter.kernel.display.mime.MIMEType.TEXT_HTML, () -> {
String id = UUID.randomUUID().toString().replace("-", "");
figure.asJavascript(id);
Map<String, Object> context = figure.getContext();
StringBuilder html = new StringBuilder();
html.append("<div id=\"").append(id).append("\"></div>\n");
html.append("<script>require(['https://cdn.plot.ly/plotly-1.44.4.min.js'], Plotly => {\n");
html.append("var target_").append(id).append(" = document.getElementById('").append(id).append("');\n");
html.append(context.get("figure")).append('\n');
html.append(context.get("plotFunction")).append('\n');
html.append("})</script>\n");
return html.toString();
});
});
然后我们可以创建一个表格来显示(取自 Tablesaw docs )。
import tech.tablesaw.api.*;
import tech.tablesaw.plotly.api.*;
import tech.tablesaw.plotly.components.*;
String[] animals = {"bear", "cat", "giraffe"};
double[] cuteness = {90.1, 84.3, 99.7};
Table cuteAnimals = Table.create("Cute Animals")
.addColumns(
StringColumn.create("Animal types", animals),
DoubleColumn.create("rating", cuteness)
);
cuteAnimals
最后我们可以创建一个 Figure
用于表格并通过在 IJava 中显示事物的 3 种方法之一来显示它。
VerticalBarPlot.create("Cute animals", cuteAnimals, "Animal types", "rating");
相当于 render
调用"text/html"
是隐式的,因为我们将其设置为首选类型(在注册期间为 preferring
)
render(VerticalBarPlot.create("Cute animals", cuteAnimals, "Animal types", "rating"), "text/html");
如果它不在单元格的末尾,则 display
功能是另一种选择。例如显示图表和 cuteAnimals
之后:
Figure figure = VerticalBarPlot.create("Cute animals", cuteAnimals, "Animal types", "rating");
display(figure);
cuteAnimals
关于java - 如何使用 IJava 内核在 Jupyter Notebook 中嵌入 Tablesaw 图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54654434/
序言:重新训练人工智能大型模型是一项复杂且高成本的任务,尤其对于当前的LLM(大型语言模型)来说,全球99.99%的企业难以承担。这是因为模型训练需要巨大的资源投入、复杂的技术流程以及大量的人力支
上一篇:《人工智能是这样理解“情绪”的》 序言:这段话要优化吗?““嵌入”是一种将句子、单词或其他语言单位转换为向量表示的技术。这个向量通常位于高维空间中,它以一种能够表达相似性的方式编码出文本
我正在开发一个小型 Web 应用程序,其中有一个 object 元素(包含一个 embed),用于显示小型文档。 文档可以是 PDF 或纯文本文件 (.txt),我以 base64 字符串的形式从 W
我有一种小型语言,它基本上是 OCaml 的扩展(实际上它是 OCaml 子集的扩展,但这并不重要)。为了简化事情,我有一个“转义”表达式,可以将 OCaml 文字传输到我的语言中(因此您可以将任意
据我所知,我知道 embed tag用于嵌入来自 youtube 等网站的视频,object tag用于 Flash 视频和 video tags下HTML5 .但我很好奇这些标签的深入细节以及作为开
我假设您可以将 WebKit 嵌入到另一个桌面应用程序中并向其发送一个字符串,例如: Hello world! 它将显示在窗口内。 我的问题是,如果我将其压缩表示(JPEG 转储)加载到内存中,我该如
有没有一种可能的方式,我可以从youtube检索我的最新视频的列表(带有缩略图),使用cron作业将嵌入的代码存储在数据库中,这样我就可以在单独的页面上显示视频,而不是将用户引向youtube观看视频
最近我发现我的网站上嵌入的 YouTube 视频存在问题 - 全屏按钮不再起作用。确实有过一次。该按钮是可见的,但单击时没有任何反应。 我正在使用 Youtube Javascript API 将视频
在 Keras 内置函数中嵌入使用哪种算法?Word2vec?手套?其他? https://keras.io/layers/embeddings/ 最佳答案 简短的回答是都不是。本质上,GloVe 的
在 LSTM 上用于建模 IMDB 序列数据 ( https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py ) 的 ker
在机器学习中,通常用 one-hot-encoding 表示分类(特别是:名义)特征。 .我正在尝试学习如何使用 tensorflow 的嵌入层来表示分类问题中的分类特征。我有 tensorflow
我有一个使用 Storyboard的应用程序,我想在我的主视图中有一个 View ,并让它在场景中的不同 View 之间切换。 所以目前我有“容器对象”,我可以在其中嵌入另一个 viewControl
在我的项目中我遇到了这样的情况。 function fonsubmit() { alert('Out side PHP'); //Here the php code starts
我正在尝试添加一个JFileChooser,它选择父目录并允许用户输入文件名称。我知道 showSaveDialog 和 showOpenDialog 方法,但我不想创建新窗口。 这是我到目前为止所拥
我注意到我的网站创建了这样的链接:www.domain.com/post-name/embed/ 恐怕这可能会影响 SEO。是否可以禁用此功能? 最佳答案 显然这是默认的 WordPress 行为。此
我试图从 C 代码调用 python 函数,我遵循了 here 中的示例 我也有正确的包含文件目录、库目录和链接 python32.lib(我使用 python 32)但是错误是 python/C A
我正在使用基于云的 EDR 平台来监控客户端受损网络上发生的进程。我最近经常看到的是使用选项“-Embedding”调用的 msiexec.exe C:\Windows\System32\MsiExe
我有一个列表,其中包含数百万个需要嵌入的句子。我正在使用 Flair以此目的。这个问题似乎应该是并行的。但是,当我尝试优化时,我的性能要么没有提高,要么只是停滞不前。 我将我的句子定义为一个简单的字符
我想在我的应用程序中添加嵌入的 YouTube 视频:我该怎么做?我有这个 import 'package:youtube_player/youtube_player.dart'; import 'p
我有 json 看起来像: myjson = {"queries":{"F.SP": 27}} 所以与 queryResults = JObject.Parse(jsonString) 我可以 fir
我是一名优秀的程序员,十分优秀!