使用 Select 更改折线图
最后一个任务,对冲基金请您制作一组可视化,用于分析 Electronic Arts 的股票表现。
您决定使用 Select 小部件,这样他们就能在以下指标之间切换:close、market_cap 和 volume。
stocks 数据集已按 EA 过滤。针对每个指标,已经为您预先创建了三个图形(close、market_cap 和 volume)以及相应的图元集(close_line、market_cap_line、volume)。
本练习是课程的一部分
使用 Bokeh 进行交互式数据可视化
练习说明
- 调用
Select()创建menu,将包含"Close"、"Market Cap"和"Volume"(按此顺序)的列表传给options参数,将value设为"Close",并设置标题为"Metric"。 - 调用合适的
menu方法,将小部件的"value"与callback关联。 - 在
show中调用layout,将小部件显示在close、market_cap和volume三个图形的上方。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create menu
menu = ____
callback = CustomJS(args=dict(plot_one=close, plot_two=market_cap, plot_three=volume, line_1=close_line, line_2=market_cap_line, line_3=volume_line), code="""
plot_one.visible = true
plot_two.visible = true
plot_three.visible = true
line_1.visible = true
line_2.visible = true
line_3.visible = true
if (this.value == "Close") {plot_two.visible = false
plot_three.visible = false
line_2.visible = false
line_3.visible = false}
else {plot_one.visible = false
line_1.visible = false}
if (this.value == "Market Cap") {plot_one.visible = false
plot_three.visible = false
line_1.visible = false
line_3.visible = false}
else {plot_two.visible = false
line_2.visible = false}
if (this.value == "Volume") {plot_one.visible = false
plot_two.visible = false
line_1.visible = false
line_2.visible = false}
else {plot_three.visible = false
line_3.visible = false}
""")
# Set up the interaction
____
# Display the layout
output_file(filename="stock_metrics.html")
____