2017-10-19 38 views
0

Ceci est mon code en python 2.7, censé afficher un graphique à barres à l'aide bokeh:« Figure » objet n'a pas d'attribut « VBar »

from bokeh.io import show, output_file 
from bokeh.models import ColumnDataSource 
from bokeh.palettes import Spectral6 
from bokeh.plotting import figure 

output_file("Option Bundling.html") 

options= ['Option 1', 'Option 2', 'Option 1+2'] 
counts = [df3.get_value(select.value, select.value), df3.get_value(select2.value, select2.value), df3.get_value(select.value,select2.value) ] 

source = ColumnDataSource(data=dict(options=options, counts=counts, color=Spectral6)) 

p = figure(x_range=options_list, y_range=(0,1), plot_height=250, title="Option Bundling", 
     toolbar_location=None, tools="") 

p.vbar(x='options', top='counts', width=0.9, color='color', legend="Options", source=source) 

p.xgrid.grid_line_color = None 
p.legend.orientation = "horizontal" 
p.legend.location = "top_center" 

show(p) 

Quand je l'essayer en cours d'exécution dans Jupyter, le message suivant apparaît :

AttributeError       Traceback (most recent call last) 
<ipython-input-29-a4eb97059982> in <module>() 
    14   toolbar_location=None, tools="") 
    15 
---> 16 p.vbar(x='options', top='counts', width=0.9, color='color', legend="Options", source=source) 
    17 
    18 p.xgrid.grid_line_color = None 

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

Le code provient de la documentation de bokeh, j'ai seulement changé les variables. Que puis-je changer pour le faire fonctionner?

Répondre

0

vbar est un ajout relativement récent. L'explication la plus probable est que votre version installée de Bokeh est ancienne, et vous devrez la mettre à niveau pour pouvoir utiliser vbar. Si vous ne pouvez pas augmenter pour une raison quelconque, quad et rect seront disponibles.