การเพิ่ม annotation แสดงการเติบโตของราคาหุ้น Netflix
เพื่อเป็นการทบทวน ก่อนหน้านี้เราได้สร้างวันที่และ timestamp ไว้แล้ว ดังที่แสดงด้านล่าง:
start_date = dt.datetime(2017, 6, 30)
end_date = dt.datetime(2017, 7, 27)
start_float = start_date.timestamp() * 1000
end_float = end_date.timestamp() * 1000
ขั้นตอนสุดท้ายในการแสดง line plot ของ Netflix พร้อม polygon annotation คือการกรองข้อมูลราคาหุ้น เรียกใช้ PolyAnnotation() และเพิ่ม annotation เข้าไปใน layout ของกราฟ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างภาพข้อมูลแบบอินเทอร์แอกทีฟด้วย Bokeh
คำแนะนำการฝึกหัด
- สร้าง
start_dataโดยกรองข้อมูลจากnetflixเฉพาะแถวที่คอลัมน์"date"มีค่าเท่ากับstart_date - ทำแบบเดียวกันสำหรับ
end_dataเพื่อดึงค่า close จากend_date - สร้าง
polygonโดยกำหนดสีเป็น"green"ความโปร่งใส0.4และกรอกค่า argumentxsและysให้ครบ - เพิ่ม
polygonเข้าไปใน layout ของกราฟ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create start and end data
start_data = netflix.loc[netflix["____"] == ____]["close"].values[0]
end_data = ____.____[____["____"] == ____]["close"].values[0]
# Create polygon annotation
polygon = PolyAnnotation(fill_color="____", fill_alpha=____,
xs=[start_float, ____, end_float, ____],
ys=[start_data - 10, ____ + 10, end_data + 15, ____ - 15])
# Add polygon to figure and display
fig.____(____)
output_file(filename="netflix_annotated.html")
show(fig)