Bokeh - Incorporamento di grafici e app
Grafici e dati sotto forma di documenti autonomi e applicazioni Bokeh possono essere incorporati nei documenti HTML.
Il documento autonomo è un grafico o un documento Bokeh non supportato dal server Bokeh. Le interazioni in un tale grafico sono puramente sotto forma di JS personalizzato e non di callback Pure Python.
È anche possibile incorporare grafici e documenti Bokeh supportati dal server Bokeh. Tali documenti contengono callback Python che vengono eseguiti sul server.
In caso di documenti indipendenti, un codice HTML grezzo che rappresenta un grafico Bokeh si ottiene dalla funzione 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")
Il valore di ritorno della funzione file_html () può essere salvato come file HTML o può essere utilizzato per il rendering tramite percorsi URL nell'app Flask.
In caso di documento autonomo, la sua rappresentazione JSON può essere ottenuta dalla funzione 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"))
Questo output può essere utilizzato dalla funzione Bokeh.embed.embed_item su una pagina web -
item = JSON.parse(item_text);
Bokeh.embed.embed_item(item);
Le applicazioni Bokeh su Bokeh Server possono anche essere incorporate in modo da creare una nuova sessione e un documento a ogni caricamento della pagina in modo che venga caricata una sessione specifica esistente. Ciò può essere ottenuto con la funzione server_document (). Accetta l'URL di un'applicazione server Bokeh e restituisce uno script che incorporerà nuove sessioni da quel server ogni volta che lo script viene eseguito.
Il server_document() functionaccetta il parametro URL. Se è impostato su "default", verrà utilizzato l'URL predefinito http: // localhost: 5006 /.
from bokeh.embed import server_document
script = server_document("http://localhost:5006/sliders")
La funzione server_document () restituisce un tag di script come segue:
<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>