Bokeh - Nhúng lô và ứng dụng
Các lô và dữ liệu ở dạng tài liệu độc lập cũng như ứng dụng Bokeh có thể được nhúng vào tài liệu HTML.
Tài liệu độc lập là một âm mưu Bokeh hoặc tài liệu không được hỗ trợ bởi máy chủ Bokeh. Các tương tác trong một cốt truyện như vậy hoàn toàn ở dạng JS tùy chỉnh chứ không phải lệnh gọi lại Pure Python.
Các ô và tài liệu Bokeh được hỗ trợ bởi máy chủ Bokeh cũng có thể được nhúng. Các tài liệu như vậy chứa các lệnh gọi lại Python chạy trên máy chủ.
Trong trường hợp tài liệu độc lập, mã HTML thô đại diện cho biểu đồ Bokeh được lấy bằng hàm file_html ().
from bokeh.plotting import figure
from bokeh.resources import CDN
from bokeh.embed import file_html
fig = figure()
fig.line([1,2,3,4,5], [3,4,5,2,3])
string = file_html(plot, CDN, "my plot")
Giá trị trả về của hàm file_html () có thể được lưu dưới dạng tệp HTML hoặc có thể được sử dụng để hiển thị thông qua các tuyến URL trong ứng dụng Flask.
Trong trường hợp tài liệu độc lập, có thể lấy biểu diễn JSON của nó bằng hàm json_item ().
from bokeh.plotting import figure
from bokeh.embed import file_html
import json
fig = figure()
fig.line([1,2,3,4,5], [3,4,5,2,3])
item_text = json.dumps(json_item(fig, "myplot"))
Đầu ra này có thể được sử dụng bởi hàm Bokeh.embed.embed_item trên một trang web -
item = JSON.parse(item_text);
Bokeh.embed.embed_item(item);
Các ứng dụng Bokeh trên Máy chủ Bokeh cũng có thể được nhúng để một phiên và Tài liệu mới được tạo trên mỗi lần tải trang để một phiên cụ thể, hiện có được tải. Điều này có thể được thực hiện với hàm server_document (). Nó chấp nhận URL đến một ứng dụng máy chủ Bokeh và trả về một tập lệnh sẽ nhúng các phiên mới từ máy chủ đó bất cứ khi nào tập lệnh được thực thi.
Các server_document() functionchấp nhận tham số URL. Nếu nó được đặt thành 'mặc định', thì URL mặc định http: // localhost: 5006 / sẽ được sử dụng.
from bokeh.embed import server_document
script = server_document("http://localhost:5006/sliders")
Hàm server_document () trả về một thẻ script như sau:
<script
src="http://localhost:5006/sliders/autoload.js?bokeh-autoload-element=1000&bokeh-app-path=/sliders&bokeh-absolute-url=https://localhost:5006/sliders"
id="1000">
</script>