【发布时间】: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 小部件上进行回调)?