科技股的長期表現
這家避險基金想要分析近年科技股的走勢。他們要求建立一個折線圖,顯示 Apple、IBM 與 Netflix 的股價。
他們也希望加入一個 DateRangeSlider,好讓他們可以調整檢視期間,更容易找出值得關注的時段。
範例中已建立好圖形並加入折線圖元。此外,earliest_date 和 lowest_date 已預先載入,分別代表 stocks["date"] 欄中的最早與最新日期。
本練習屬於課程
使用 Bokeh 製作互動式資料視覺化
練習說明
- 匯入
DateRangeSlider。 - 呼叫
DateRangeSlider(),將title設為"Date",start與end分別設為earliest_date與latest_date,value設為"2014, 6, 2", "2018, 2, 7",並將互動時的遞增單位設為每次1天。 - 呼叫
.js_link()兩次,將小工具的"value"連結到fig的x_range的"Start"與"End",並在兩次呼叫中分別將屬性選擇器設為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(____(____, ____))