散景在 Jupyter 中导入 json_item 序列化 JSON

问题描述

散景论坛上的交叉发布:https://discourse.bokeh.org/t/display-json-item-serialized-json-in-jupyter-notebook/7245/3

我已经使用 bokeh.embed.json_item 将我的散景图序列化为 json,如文档中所述:https://docs.bokeh.org/en/latest/docs/reference/embed.html#bokeh.embed.json_item

我现在想在 Python(Jupyter 笔记本)中再次加载它。我该怎么做?文档只提到使用 JavaScript 加载它并将其嵌入网页:https://docs.bokeh.org/en/latest/docs/user_guide/embed.html

一种方法是在 IPython notebook 中显示一个 HTML 对象,如下所示:

from IPython.core.display import display,HTML
html_plot = f'''
<!DOCTYPE html>
<html lang="en">
<head>
  <script src="https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js"
        crossorigin="anonymous"></script>
<script src="https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js"
        crossorigin="anonymous"></script>
<script src="https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js"
        crossorigin="anonymous"></script>
</head>
<body>
  <div id="myplot"></div>
  <script>
  item = {plot_json}
  bokeh.embed.embed_item(item,"myplot");
  </script>
</body>
'''
display(HTML(html_plot))

然而,这并没有让我回到我可以操纵的散景 figure 对象。

解决方法

从 Bokeh 2.3 开始,将导出的 JSON 重新摄取回 Python 仍然是 open issue

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...