用 Select 變更折線圖
最後一個任務是:對沖基金請你製作一組視覺化,方便分析 Electronic Arts 的股價表現。
你決定使用 Select 小工具,讓他們能在以下指標之間切換:close、market_cap 與 volume。
stocks 資料集已經過濾為 EA。三個圖表(close、market_cap、volume)以及各自的圖徵集(close_line、market_cap_line、volume)都已為你建立並預先載入。
本練習屬於課程
使用 Bokeh 製作互動式資料視覺化
練習說明
- 呼叫
Select()建立menu:將options引數設為包含"Close"、"Market Cap"、"Volume"(依此順序)的列表,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")
____