0
我想繪製下拉小部件的基於條形圖的值。如何根據散景python中的下拉小部件的值交互地繪製條形圖?
代碼
import pandas as pd
from bokeh.io import output_file, show
from bokeh.layouts import widgetbox
from bokeh.models.widgets import Dropdown
from bokeh.plotting import curdoc
from bokeh.charts import Bar, output_file,output_server, show #use output_notebook to visualize it in notebook
df=pd.DataFrame({'item':["item1","item2","item2","item1","item1","item2"],'value':[4,8,3,5,7,2]})
menu = [("item1", "item1"), ("item2", "item2")]
dropdown = Dropdown(label="Dropdown button", button_type="warning", menu=menu)
def function_to_call(attr, old, new):
df=df[df['item']==dropdown.value]
p = Bar(df, title="Bar Chart Example", xlabel='x', ylabel='values', width=400, height=400)
output_server()
show(p)
dropdown.on_change('value', function_to_call)
curdoc().add_root(dropdown)
問題
- 我得到流動錯誤:eventhough DF 「UnboundLocalError賦值之前引用局部變量 'DF'」 已創建。
- 如何在下拉菜單下方的網頁上繪製條形圖?在1.中的問題後顯示它的語法是什麼解決?
謝謝。 p是函數function_to_call()的本地函數,所以我應該在這個函數中返回p並在curdoc()。add_root(column(dropdown,p))中使用它。 –