科技股的长期表现
这家对冲基金希望分析近几年科技股的走势。他们需要一张显示 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(____(____, ____))