我写了一个小应用程序来可视化一些数据。该应用程序是Flask中的一个小型Web应用程序,我想在响应页面中提供bokeh组件。就像是:

script, div = components(figure)
return render_template('plot.html', div_plot=div, script_plot=script)


这种方法似乎适用于简单的图表或类似下面示例的图形,在这里我可以使用图形对象中的属性创建图形。就像是

fig = figure(plot_width=900, plot_height=200, tools=tools,x_axis_type='datetime')
fig.line('date', 't1', source=source_static)
script, div = components(fig)


不幸的是,对于Donut对象,事情似乎有所不同,您只能像这样创建Donut对象

pie_chart = Donut(data)
show(pie_chart)


如何从Donut中获取div和脚本?如何将其嵌入到现有的html页面中?

最佳答案

最后我自己找到了解决方案。
显然,没有必要遍历“图”对象。取而代之的是,

from bokeh.charts import Donut
import pandas as pd

data = pd.Series( ...  some data ... )
script, div = components(Donut(data))


傻我
希望这会帮助某人。

08-25 01:34