如何在 Dash 应用程序中嵌入散景图

问题描述

我想在 Dash 应用程序中嵌入散景图,但我不知道如何在 Dash 中呈现散景 JSON。

最简单的解决方案是单独使用 bokeh 或 Dash。我们工作中的所有其他应用程序都使用 Dash(因此单独的 bokeh 是不可取的),但是,Dash/Plotly 无法生成所需的图形(叠加在平铺地图上的光栅图像)。

一个post on the Plotly community forum 提出了同样的问题,建议的解决方案是使用 dash-alternative-viz 包嵌入散景图。不幸的是,即使在复制示例 usage.py 脚本时,该包也不会呈现散景图。这已在回购中作为问题提出,但开发人员尚未回应。

bokeh 可以提供 bokehJS 可以用来呈现独立图形 (bokeh.embed.json_item()) 的 JSON 数据,并且文档给出了如何向 Flask 应用程序提供 bokeh 图形的示例:

@app.route('/plot')
def plot():
    p = make_plot('petal_width','petal_length')
    return json.dumps(json_item(p,"myplot"))

如何在 Dash 中做类似的事情?

解决方法

dash-alternative-viz 是一个概念验证 Dash 组件库,它为 Bokeh 等其他可视化库提供 Dash 接口。查看他们的 github 页面以了解更多信息并开始使用: https://github.com/plotly/dash-alternative-viz-demo