โบเก้ - การฝังพล็อตและแอพ
พล็อตและข้อมูลในรูปแบบของเอกสารแบบสแตนด์อโลนรวมถึงแอปพลิเคชัน Bokeh สามารถฝังอยู่ในเอกสาร HTML ได้
เอกสารเดี่ยวคือพล็อตโบเก้หรือเอกสารที่ไม่ได้รับการสนับสนุนจากเซิร์ฟเวอร์ Bokeh การโต้ตอบในพล็อตดังกล่าวเป็นเพียงรูปแบบของ JS ที่กำหนดเองเท่านั้นและไม่ใช่การเรียกกลับ Pure Python
นอกจากนี้ยังสามารถฝังพล็อตโบเก้และเอกสารที่สนับสนุนโดยเซิร์ฟเวอร์ Bokeh ได้ เอกสารดังกล่าวมีการเรียกกลับของ Python ที่ทำงานบนเซิร์ฟเวอร์
ในกรณีของเอกสารแบบสแตนด์อโลนโค้ด HTML ดิบที่แสดงพล็อตโบเก้จะได้มาจากฟังก์ชัน 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")
ค่าส่งกลับของฟังก์ชัน file_html () อาจถูกบันทึกเป็นไฟล์ HTML หรืออาจใช้เพื่อแสดงผลผ่านเส้นทาง URL ในแอป Flask
ในกรณีของเอกสารแบบสแตนด์อโลนการแทนค่า JSON สามารถรับได้โดยฟังก์ชัน 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"))
เอาต์พุตนี้สามารถใช้โดยฟังก์ชัน Bokeh.embed.embed_item บนเว็บเพจ -
item = JSON.parse(item_text);
Bokeh.embed.embed_item(item);
นอกจากนี้ยังอาจฝังแอปพลิเคชัน Bokeh บน Bokeh Server เพื่อให้มีการสร้างเซสชันและเอกสารใหม่ในการโหลดทุกหน้าเพื่อให้โหลดเซสชันที่มีอยู่เฉพาะ ซึ่งสามารถทำได้ด้วยฟังก์ชัน server_document () ยอมรับ URL ไปยังแอ็พพลิเคชันเซิร์ฟเวอร์ Bokeh และส่งคืนสคริปต์ที่จะฝังเซสชันใหม่จากเซิร์ฟเวอร์นั้นทุกครั้งที่เรียกใช้สคริปต์
server_document() functionยอมรับพารามิเตอร์ URL หากตั้งค่าเป็น "ค่าเริ่มต้น" URL เริ่มต้น http: // localhost: 5006 / จะถูกใช้
from bokeh.embed import server_document
script = server_document("http://localhost:5006/sliders")
ฟังก์ชัน server_document () ส่งคืนแท็กสคริปต์ดังนี้ -
<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>