Điều chỉnh kích thước glyph bằng widget
Một mảng quan tâm khác của quỹ phòng hộ là dược phẩm vì có rất nhiều đổi mới đang diễn ra, tạo cơ hội cho các start-up và scale-up mới.
Bạn được yêu cầu tạo một biểu đồ phân tán thể hiện giá trị và khối lượng cổ phiếu cho năm công ty dược trong bộ dữ liệu — AbbVie, Eli Lilly, Merck, Johnson & Johnson và Nuformix. Bạn chưa chắc dữ liệu sẽ trông thế nào, nên quyết định dùng widget Spinner để cho phép các bên liên quan tùy chỉnh kích thước glyph khi cần.
Bài tập này là một phần của khóa học
Trực quan hóa dữ liệu tương tác với Bokeh
Hướng dẫn bài tập
- Import
layoutvàSpinner. - Tạo một spinner có tiêu đề
"Glyph size", với kích thước từ 1 đến 30 pixel, tăng/giảm 1 pixel mỗi lần nhấn, giá trị mặc định là 4 và chiều rộng 60. - Hoàn thiện
spinner.js_link(), truyền"value"trước, tiếp theo là thuộc tính glyph của scatter, và cuối cùng chỉ định"size"là thuộc tính bạn muốn điều chỉnh bằng spinner. - Hiển thị layout, với
titletrên một hàng riêng, và hàng thứ hai hiển thịspinnervàfigtheo thứ tự đó.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Import modules
____
____
labels = ["ABBV", "JNJ", "LLY", "MRK", "NFX"]
fig = figure(x_axis_label="Volume", y_axis_label="Stock Price ($)")
scatter = fig.circle(x="volume", y="close", source=source, legend_field="name", fill_color=factor_cmap("name", palette=Category10_5, factors=labels), fill_alpha=0.5)
title = Div(text="Pharmaceuticals Stock Performance")
fig.xaxis[0].formatter = NumeralTickFormatter(format="0a")
# Create spinner
spinner = ____(title="____", low=____, high=____, step=____, value=____, width=____)
# Set up the widget action
spinner.js_link("____", ____.____, "____")
output_file(filename="pharma_stocks.html")
# Display the layout
show(____(____))