我有一个使用Bokeh库的应用程序,将其用作Web服务器应用程序。我使用了制表符,widgetdbox,gridplots来布局所有元素。我在文档页面上看过this,但是我发现这种方式存在很多限制。
是否有一种简单的方法可以使用模板布置所有这些元素?也许使用Jinja和Bootstrap?这可能吗?
一个简单的例子可以帮助我很多。
以下是一个最小的例子。假设应用程序创建了两个 具有名称属性集的根:
p1 = figure(..., name="scatter")
p2 = figure(..., name="line")
curdoc().add_root(p1)
curdoc().add_root(p2)
然后可以在模板中按名称引用这些根,并且 传递给embed宏将它们放在任何需要的位置:
{% extends base %}
<!-- goes in head -->
{% block preamble %}
<link href="app/static/css/custom.min.css" rel="stylesheet">
{% endblock %}
<!-- goes in body -->
{% block contents %}
<div> {{ embed(roots.scatter) }} </div>
<div> {{ embed(roots.line) }} </div>
{% endblock %}
答案 0 :(得分:1)
从Bokeh 0.12.5
开始,仅通过components
函数支持单个Bokeh文档(即没有Bokeh服务器)的单个元素的模板。 Bokeh服务器应用程序元素的类似功能仍然是一个悬而未决的问题:#4986 Allow elements to be placed in server templates。目前,所有元素(图,小部件等)都必须采用散景布局。