Da bokeh
viele verschiedene Untermodule enthält, aus denen Sie Funktionen für Ihr Diagramm extrahieren können, die außerhalb von bokeh.plotting
liegen, gibt es nicht ein umfassendes Paket, das Sie importieren können, um auf alle Funktionen zuzugreifen. Eine Möglichkeit, dies zu umgehen, besteht darin, ein eigenes Unterpaket in einer separaten Datei zu erstellen, in das alle Funktionen importiert werden, auf die Sie in Ihrer Hauptdatei zugreifen möchten. Zum Beispiel könnten Sie einen Dateinamen my_bokeh.py
im selben Verzeichnis wie die Haupt-Skript, und legen in den folgenden Einfuhren (zum Beispiel) erstellen:
from bokeh.models import Range1d,ResizeTool,HoverTool,ColorBar,LinearColorMapper,BasicTicker,Title,BoxSelectTool
from bokeh.models.widgets import TextInput
from bokeh.layouts import row,widgetbox
from bokeh.embed import components
from bokeh.models.callbacks import CustomJS
from bokeh.plotting import figure, show, output_file
nun in Ihrem Haupt-Skript, können Sie diese Unter importieren Paket wie:
import my_bokeh as bpt
...
bpt.figure(x_range=bpt.Range1d(0,x-1,bounds='auto'),
y_range=bpt.Range1d(0,y-1,bounds='auto'),
plot_width=200, plot_height=200)
...
p.add_tools(bpt.ResizeTool())
...
bpt.show(p)
Sie Zugriff auf jede Funktion unter dem bpt
alias wie oben gesehen im Skript haben werden und Sie können die Import-Anweisungen in Ihrem Haupt-Skript sauber zu halten.
Jeder Weg ist in Ordnung - der "Namespace" ist über das, was Sie hineinlegen möchten, und die explizite Verwendung eines Imports, um etwas in den Namespace zu stellen, ist eine Wahl. Die wichtigste Sache, die es zu vermeiden gilt, sind '*' Importe, da sie Verwirrung darüber erzeugen können, was tatsächlich importiert wird. – Amber
Plotten in Bokeh verwendet viele verschiedene Submodule, die nicht alle in 'bokeh.plotting' existieren. Zum Beispiel 'bokeh.models',' bokeh.layouts', 'bokeh.models.widgets', usw. Anstatt für alles eine neue Abkürzung zu erstellen, importieren sie normalerweise nur die Funktionen, die sie benötigen. – tmwilson26
@ tmwilson26 Das macht Sinn. Vielleicht ist das ein bisschen weit hergeholt, aber würde es einen Weg geben, all meine Bokeh-Importe unter einem gemeinsamen Alias zu "bündeln"? – Peter9192