在Bokeh Python中出现错误vbar_stack

时间:2017-11-24 03:45:18

标签: python bokeh

我是Bokeh的新手,我想在Bokeh中尝试vbar_stack并按照下面的文档中的代码进行操作:

from bokeh.core.properties import value
from bokeh.io import show, output_file
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure

output_file("stacked.html")

fruits = ['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries']
years = ["2015", "2016", "2017"]
colors = ["#c9d9d3", "#718dbf", "#e84d60"]

data = {'fruits' : fruits,
        '2015'   : [2, 1, 4, 3, 2, 4],
        '2016'   : [5, 3, 4, 2, 4, 6],
        '2017'   : [3, 2, 4, 4, 5, 3]}

source = ColumnDataSource(data=data)

p = figure(x_range=fruits, plot_height=250, title="Fruit Counts by Year",
           toolbar_location=None, tools="")

p.vbar_stack(years, x='fruits', width=0.9, color=colors, source=source,
             legend=[value(x) for x in years])

p.y_range.start = 0
p.x_range.range_padding = 0.1
p.xgrid.grid_line_color = None
p.axis.minor_tick_line_color = None
p.outline_line_color = None
p.legend.location = "top_left"
p.legend.orientation = "horizontal"

show(p)

运行代码后出现此错误:

AttributeError                            Traceback (most recent call last)
<ipython-input-152-49fb8bdc8de2> in <module>()
     20            toolbar_location=None, tools="")
     21 
---> 22 p.vbar_stack(years, x='fruits', width=0.9, color=colors, source=source,
     23              legend=[value(x) for x in years])
     24 

AttributeError: 'Figure' object has no attribute 'vbar_stack'

我试图将我的散景升级为Ver。 0.12.10(最新),但它不起作用。

1 个答案:

答案 0 :(得分:0)

您的Bokeh版本太旧了(您使用的版本是在添加vbar_stack之前)。您需要更新到更新的版本。如果您认为自己已经处于足够新的版本,那么很可能您在多个virutalenv或conda环境之间存在一些混淆,并且没有加载您想要的Bokeh版本。或者,您有某种安装损坏(删除site-packages中与散景相关的所有内容并重新安装)。