Phân tích du lịch
Quỹ đầu cơ đang nhắm tới những mục tiêu lớn và muốn hiểu hiệu suất của cổ phiếu hàng không.
Bạn sẽ vẽ biểu đồ đường giá cổ phiếu theo ngày, cho phép người xem chuyển giữa Delta Air Lines, Southwest Airlines và Boeing. Hình vẽ và các glyph đã được nạp sẵn cho bạn:
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)
Bài tập này là một phần của khóa học
Trực quan hóa dữ liệu tương tác với Bokeh
Hướng dẫn bài tập
- Import widget
Selectcùng vớiCustomJS. - Tạo widget
Select, gánoptionslà một danh sách gồm"Boeing","Delta", và"Southwest"(theo đúng thứ tự đó),valuelà"Boeing", vàtitlelà"Airline". - Cấu hình widget để thực thi hàm
callbackkhi"value"thay đổi.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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))