Bokeh:Python:无法获取Bokeh中条形图的HTML源代码
我试图从Bokeh条形图中检索用于嵌入的html代码 这个例子很好: 从bokeh.resources导入CDN 从bokeh.com开始绘制导入圆 从bokeh.embed导入自动加载\u静态Bokeh:Python:无法获取Bokeh中条形图的HTML源代码,python,bokeh,Python,Bokeh,我试图从Bokeh条形图中检索用于嵌入的html代码 这个例子很好: 从bokeh.resources导入CDN 从bokeh.com开始绘制导入圆 从bokeh.embed导入自动加载\u静态 plot = circle([1,2], [3,4]) div = notebook_div(plot) js, tag = autoload_static(plot, CDN, "some/path") jkl = HTML(div) print div 但是,如果我使用plot=Bar尝试相同
plot = circle([1,2], [3,4])
div = notebook_div(plot)
js, tag = autoload_static(plot, CDN, "some/path")
jkl = HTML(div)
print div
但是,如果我使用plot=Bar尝试相同的代码。。。我得到一个错误:
-----> div = notebook_div(plot)
'Bar' object has no attribute 'ref'
是否有更好的方法来实现这一点,还是根本不受支持?Bokeh.charts接口在Bokeh版本0.7.0之前提供了更高级别的抽象,然后再进行绘图。它不从Plot继承,因此不能直接替换Plot实例。也就是说,图表类型有一个底层的plot对象,可以在这种情况下使用。它是懒洋洋地创建的,目前需要一些机器使它对您有用。有关于图表的公开讨论,这很可能会在发行版中变得更容易、更一致 同时,您可以使用以下方法更改示例/图表中的条形笔记本:
from collections import OrderedDict
import numpy as np
from bokeh.charts import Bar
from bokeh.sampledata.olympics2014 import data as original_data
from IPython.core.display import HTML
from bokeh.resources import CDN
from bokeh.plotting import circle
from bokeh.embed import autoload_static, notebook_div
data = {d['abbr']: d['medals'] for d in original_data['data'] if d['medals']['total'] > 0}
countries = sorted(data.keys(), key=lambda x: data[x]['total'], reverse=True)
gold = np.array([data[abbr]['gold'] for abbr in countries], dtype=np.float)
silver = np.array([data[abbr]['silver'] for abbr in countries], dtype=np.float)
bronze = np.array([data[abbr]['bronze'] for abbr in countries], dtype=np.float)
medals = OrderedDict(bronze=bronze, silver=silver, gold=gold)
bar = Bar(medals, countries, title="grouped, dict_input",
xlabel="countries", ylabel="medals", legend=True, width=800,
height=600)
bar.show()
plot = bar.chart.plot
div = notebook_div(plot)
js, tag = autoload_static(plot, CDN, "some/path")
jkl = HTML(div)
print div