НачатьНачать бесплатно

Анализ авиаперевозок

Хедж-фонд нацелен на высокие результаты и хочет разобраться в динамике акций авиакомпаний.

Вам предстоит построить линейный график зависимости цены акций от даты, который позволит переключаться между данными Delta Air Lines, Southwest Airlines и Boeing. Фигура и глифы уже загружены:

boeing = stocks.loc[stocks["name"] == "BA"]
delta = stocks.loc[stocks["name"] == "DAL"]
southwest = stocks.loc[stocks["name"] == "LUV"]
fig = figure(x_axis_label="Date", y_axis_label="Stock Price", 
             x_axis_type="datetime")
boeing_line = fig.line(x=boeing["date"], y=boeing["close"],
                       alpha=0.5)
delta_line = fig.line(x=delta["date"], y=delta["close"], 
                      color="red", alpha=0.5)
sw_line = fig.line(x=southwest["date"], y=southwest["close"], 
                   color="green", alpha=0.5)

Это упражнение является частью курса

Интерактивная визуализация данных с Bokeh

Посмотреть курс

Инструкции к упражнению

  • Импортируйте виджет Select вместе с CustomJS.
  • Создайте виджет Select: укажите options в виде списка, содержащего "Boeing", "Delta" и "Southwest" (именно в таком порядке), задайте value равным "Boeing" и title равным "Airline".
  • Настройте виджет так, чтобы функция callback вызывалась при изменении значения "value".

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import modules
____

# Create Select widget
menu = ____(____=["____", "____", "____"], ____="____", ____="____") 

callback = CustomJS(args=dict(line_1=boeing_line, line_2=delta_line,
                             line_3=sw_line), code="""
line_1.visible = true
line_2.visible = true
line_3.visible = true
if (this.value == "Boeing") {line_2.visible = false
							 line_3.visible = false} 
    else {line_1.visible = false}
if (this.value == "Delta") {line_1.visible = false
							line_3.visible = false} 
    else {line_2.visible = false}
if (this.value == "Southwest") {line_1.visible = false
								line_2.visible = false} 
    else {line_3.visible = false}
""")

# Set up interaction
menu.____("____", ____)
output_file(filename="airline_stocks.html")
show(column(menu, fig))
Редактировать и запускать код