การวิเคราะห์สายการบิน
กองทุนเฮดจ์ฟันด์กำลังมองหาโอกาสในอุตสาหกรรมการบิน และต้องการทำความเข้าใจผลการดำเนินงานของหุ้นสายการบิน
ในแบบฝึกหัดนี้ คุณจะสร้างกราฟเส้นแสดงราคาหุ้นเทียบกับวันที่ โดยให้ผู้ชมสามารถสลับดูข้อมูลระหว่าง Delta Air Lines, Southwest Airlines และ Boeing ได้ Figure และ glyph ได้ถูกโหลดไว้ให้แล้ว:
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
คำแนะนำการฝึกหัด
- นำเข้า widget
Selectพร้อมกับCustomJS - สร้าง widget
Selectโดยกำหนดoptionsเป็น list ที่ประกอบด้วย"Boeing","Delta"และ"Southwest"(ตามลำดับนี้), กำหนดvalueเป็น"Boeing"และtitleเป็น"Airline" - ตั้งค่า widget ให้เรียกใช้ฟังก์ชัน
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))