【问题标题】:Embed an interactive Bokeh in django views在 django 视图中嵌入交互式散景
【发布时间】:2017-06-06 08:32:25
【问题描述】:

我想在 django 视图(或模型?)中制作交互式绘图。假设我想使用selection_histogram example. 我认为 Bokeh 符合我的需求,因为我有 matplot/seaborn 可以重复使用,而且我不太擅长 javascript。

我按照这个例子没有问题:how to embed standalone bokeh graphs into django templates

据我了解,我需要运行散景服务器和make some proxy using nginx

如何将交互式散景图嵌入到 django 视图中?

我试过这个:

启动散景服务器

bokeh serve --allow-websocket-origin=127.0.0.1:8001 selection_histogram.py

在 views.py 中更新我的视图

def simple_chart(request):

    script = autoload_server(model=None,
                             app_path="/selection_histogram",
                             url="http://localhost:5006/")


    return render(request, "simple_chart.html", {"the_script": script})

现在,它可以按预期进行交互了。

有没有办法将一些参数传递给散景应用程序?

任何帮助将不胜感激。 问候

【问题讨论】:

  • 只是为了澄清您的问题,您是否希望在 django 模板中呈现小部件或表单输入,然后让它们与散景服务器通信(例如,更改绘图的比例或数据值)?如果是这样,这类似于我遇到的问题,我认为解决方案在于 bokeh.js,但我还没有找到一个好的模式。
  • 您好,我在 Gitter 上看到了您的活动。我成功地用 django 数据集渲染了一个散景小部件。我的问题是如何让两台服务器相互通信。
  • 您能解释一下您所说的交互式是什么意思吗:1. 工具应该可以工作(缩放、平移、悬停等),或者 2. 即使没有新页面请求,数据和图表也应该更新跨度>
  • 我最初的问题是示例中的客户端服务器交互性。每次用户在图表中选择数据时,都会在服务器端进行一些计算,并将更新的结果回调给客户端。
  • 您能否发布您在 Django 视图中嵌入 Bokeh 服务器的简化代码(以便您可以在 Bokeh 小部件上进行回调)?

标签: python django nginx bokeh


【解决方案1】:

您无需运行 Bokeh 服务器即可在 DJANGO 中使用 Bokeh。您可以将 Bokeh 导入到您的 views.py 中。

您需要在模板中加载 Bokeh js 和 css,并渲染 Bokeh 创建的组件。它认为this 是一个简洁的例子。

【讨论】:

  • 感谢您的回答。这个例子与我在我的问题中提到的相同。这个简单的例子是“静态的”。我可以使用 matplolib 可能做到这一点。我将编辑我的问题,使其更具体。
  • 啊好吧,那我不明白哪种交互需要散景服务器:)
猜你喜欢
  • 1970-01-01
  • 2015-10-13
  • 2020-08-01
  • 1970-01-01
  • 2017-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
相关资源
最近更新 更多