Привет. Я пытаюсь заставить график работать с ipywidgets в блокноте Jupyter, но мне не повезло.Я хотел бы, чтобы виджеты обновлялись на основе кадра данных, когда функционирует кнопка обновления.Кто-нибудь знает, где я иду не так?
#Import Libraries
import pandas as pd
import folium
import geocoder
import numpy as np
import plotly.plotly as py
from plotly.graph_objs import *
import plotly.offline as py
from ipywidgets import widgets, HBox, Output, interactive
py.offline.init_notebook_mode(connected=False)
#Load Dataset
df = pd.read_excel('LOAS_Biography data (feb 2018).xlsx', sheetname='concerts')
#Rename Columns In DataFrame
df.columns = ['Date', 'City', 'Country', 'Venue', 'Capacity', 'Ticket', 'Tour', 'Event', 'Sold Out', 'Champion']
#Summarises Data by Summing Data Per Country
df = df.groupby('Country', as_index= False).sum()
df = df.head(10)
data = [Bar(x=df.Country,
y=df.Ticket)]
#Make lists
list1 = list(df['Country'].unique())
#list2 = list(df['City'].unique())
#Create Dropdown Box Widget
w = widgets.Dropdown(
options= list1,
value= 'Australia',
description='Country:',
disabled=False,
)
#Create Text Box Widget
w1 = widgets.Text(
value='',
placeholder='Type something',
description='Search by:',
disabled=False
)
#Create Update Button For Widgets
w2 = widgets.Button(description="Update")
def update():
display(HBox([w, w1, w2]))
display(py.offline.iplot(data, filename='jupyter-basic_bar'))
def on_button_clicked(b):
venue = (w.options, w1.value)
clear_output()
#print(venue)
update()
w2.on_click(on_button_clicked)
update()
Спасибо