ผลการดำเนินงานของหุ้นเทคโนโลยีในช่วงเวลาต่าง ๆ
กองทุนเฮดจ์ฟันด์ต้องการวิเคราะห์แนวโน้มของหุ้นเทคโนโลยีในช่วงสองสามปีที่ผ่านมา โดยขอให้สร้างกราฟเส้นแสดงราคาหุ้นของ Apple, IBM และ Netflix
นอกจากนี้ยังต้องการ DateRangeSlider เพื่อให้สามารถปรับช่วงเวลาที่ต้องการดูได้ ซึ่งช่วยให้ระบุช่วงที่น่าสนใจได้ง่ายขึ้น
กราฟถูกสร้างไว้แล้วพร้อม line glyph ที่เพิ่มไว้แล้ว นอกจากนี้ earliest_date และ latest_date ถูกโหลดไว้ล่วงหน้าในฐานะวันที่เก่าที่สุดและใหม่ที่สุดในคอลัมน์ stocks["date"]
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างภาพข้อมูลแบบอินเทอร์แอกทีฟด้วย Bokeh
คำแนะนำการฝึกหัด
- นำเข้า
DateRangeSlider - เรียก
DateRangeSlider()โดยกำหนด"Date"ให้กับtitle, กำหนดearliest_dateและlatest_dateให้กับstartและend, ตั้งค่าvalueเป็น"2014, 6, 2", "2018, 2, 7"และกำหนดการเพิ่มขึ้นครั้งละ1วันต่อการโต้ตอบกับ widget - เรียก
.js_link()สองครั้ง เพื่อเชื่อมโยง"value"ของ widget กับ"Start"และ"End"ของx_rangeในfigโดยตั้งค่า attribute selector เป็น0และ1ในแต่ละการเรียกตามลำดับ - เรียก
layout()เพื่อแสดงsliderไว้เหนือfig
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import widget
____
earliest_date = stocks["date"].min()
latest_date = stocks["date"].max()
fig.line(apple["date"], apple["close"], color="green", legend_label="Apple")
fig.line(netflix["date"], netflix["close"], color="red", legend_label="Netflix")
fig.line(ibm["date"], ibm["close"], color="purple", legend_label="IBM")
fig.legend.location = "top_left"
# Create DateRangeSlider
slider = DateRangeSlider(title="____", start=____, end=____,
value=("____", "____"), step=____)
# Link DateRangeSlider values to figure
slider.____("____", ____.____, "____", attr_selector=____)
slider.____("____", ____.____, "____", attr_selector=____)
# Create layout and display plot
output_file(filename="stock_price_over_time.html")
show(____(____, ____))