โบเก้ - การฝังพล็อตและแอพ

พล็อตและข้อมูลในรูปแบบของเอกสารแบบสแตนด์อโลนรวมถึงแอปพลิเคชัน 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>