Bokeh-CLI unter Ubuntu: Praxistipps zur Datenvisualisierung

Überblick

In dieser Anleitung erfahren Sie, wie sich das leistungsfähige Terminal-Tool von Bokeh auf Linux-Systemen effizient einsetzen lässt. Wir demonstrieren Schritt für Schritt die Generierung statischer HTML-Dateien, den Export von Plot-Strukturen als JSON und das Bereitstellen dynamischer Dashboards über den integrierten Anwendungsserver.

1. Installation und Umgebungsdiagnose mit bokeh info

Bevor wir loslegen, bringen wir die APT-Paketquellen auf den neuesten Stand und richten die notwendigen Python-Pakete ein.

Paketaktualisierung und Installation von python3-pip und python3-bokeh

Mit dem Unterbefehl bokeh info lässt sich die aktuelle Systemkonfiguration rasch überprüfen. Die Ausgabe fasst relevante Details wie installierte Softwareversionen, Abhängigkeiten und aktive Rendering-Backends zusammen.
⚙️ [Zentrale Unterbefehle]

info : Liefert Diagnosedaten zur Bokeh-Installation, zu abhängigen Bibliotheken sowie Umgebungsvariablen.
serve : Startet den Webserver für reaktive und interaktive Datenanwendungen.
html : Wandelt Python-Skripte in autonome, im Browser darstellbare HTML-Seiten um.
json : Serialisiert Diagrammkomponenten und zugehörige Datensätze in ein strukturiertes JSON-Format.
secret : Erzeugt kryptografische Schlüssel zur Absicherung von WebSocket-Sitzungen des Bokeh-Servers.

bokeh info

2. Autonome HTML-Reports generieren (bokeh html)

Zunächst legen wir ein dediziertes Projektverzeichnis an und wechseln direkt dorthin: mkdir -p ~/bokeh-demo && cd ~/bokeh-demo.

mkdir -p ~/bokeh-demo && cd ~/bokeh-demo

Für unseren Testlauf erstellen wir ein einfaches Python-Skript namens plot_sample.py, welches ein Punktdiagramm (Scatter Plot) definiert:

cat « ‘EOF’ > plot_sample.py
from bokeh.plotting import figure, save
p = figure(title=“Sample Plot”, width=600, height=400)
p.circle([1, 2, 3, 4], [2, 5, 8, 3], size=10, color=“navy”, alpha=0.5)
EOF

Über das Kommando bokeh html plot_sample.py wird der Python-Code ohne zusätzlichen Build-Schritt in eine eigenständige HTML-Datei kompiliert, die sich in jedem modernen Webbrowser direkt öffnen lässt.

bokeh html plot_sample.py

Die erfolgreiche Generierung sowie die Dateigröße des resultierenden Dokuments prüfen wir abschließend mit ls -lh plot_sample.html.

ls -lh plot_sample.html

3. Diagrammlayouts und Rohdaten als JSON exportieren (bokeh json)

Der Befehl bokeh json plot_sample.py > plot_output.json serialisiert das Diagrammobjekt samt Datenpunkten in ein JSON-Dokument. Dieses Format eignet sich hervorragend, um Visualisierungen entkoppelt bereitzustellen oder in externe Web-Clients mit BokehJS einzubinden.

bokeh json plot_sample.py > plot_output.json

Einen Einblick in die erzeugte Dokumentstruktur liefert der Aufruf head -n 20 plot_output.json. Hierüber lassen sich Modell-IDs, Datenquellen sowie Rendereigenschaften unmittelbar validieren.

head -n 20 plot_output.json

4. Interaktive Dashboards hosten mit bokeh serve

Um dynamische Webanwendungen bereitzustellen, konfigurieren wir ein Skript namens server_app.py. Über den Aufruf curdoc().add_root() wird dem aktuellen Sitzungsdokument ein Liniendiagramm als Wurzelelement zugewiesen.

cat « ‘EOF’ > server_app.py
from bokeh.plotting import figure, curdoc
p = figure(title=“Live App”)
p.line([1, 2, 3], [1, 4, 9])
curdoc().add_root(p)
EOF

Mit timeout 5s bokeh serve server_app.py --port 5006 --allow-websocket-origin="*" initiieren wir den Serverbetrieb. Das Flag --port 5006 legt den Netzwerk-Port fest, während --allow-websocket-origin="*" den Datenaustausch über WebSocket-Verbindungen für Testzwecke global freigibt.

timeout 5s bokeh serve server_app.py –port 5006 –allow-websocket-origin="*" || true

Damit haben Sie die wichtigsten Fähigkeiten des Bokeh-Kommandozeilenwerkzeugs unter Ubuntu kennengelernt. Nutzen Sie diese Parameter als Basis, um flexible Pipelines für Berichte, Datenanalysen und interaktive Webanwendungen aufzubauen.