Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bokeh:Python:无法获取Bokeh中条形图的HTML源代码_Python_Bokeh - Fatal编程技术网

Bokeh:Python:无法获取Bokeh中条形图的HTML源代码

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尝试相同

我试图从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尝试相同的代码。。。我得到一个错误:

-----> 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