Bokeh

Mit Bokeh stellen Sie interaktive Grafiken und Abbildungen bereit, die Sie in einer Webseite einbinden möchten. Ein Webserver wie Apache oder Nginx liefert diese Seite mit der Abbildung dann aus. Dabei kombiniert die Bibliothek die Abbildung mit HTML-Elementen und Javascript, um dem Betrachter die Möglichkeit zu geben, die Darstellung der Grafik im Webbrowser zu ändern. Das betrifft beispielsweise die Auswahl einer Darstellung, den gewählten Datenbereich oder die Farbe der Datenpunkte.

Bokeh wurde dazu konzipiert, mit großen Datenmengen umzugehen. Es verfügt über eine Kompatibilitätsebene zu Matplotlib und lässt sich mit dem iPython-Notebook kombinieren. Darüber hinaus enthält das Paket umfangreiche Beispieldaten, die Sie sofort zum Ausprobieren nutzen können. Aus dieser Quelle stammt auch der Code [13] für das Beispiel aus Abbildung 6, ein interaktives Periodensystem der chemischen Elemente.

Abbildung 6: Interaktives Periodensystem der Elemente.

Das Anklicken eines Quadrats mit der Abkürzung des Elements blendet ein kleines Fenster mit weiteren Details ein – in der Abbildung jenes für das Element Calcium (Ca). Die Zusatzinformationen umfassen den vollständigen Namen des Elements, die Anzahl der Atome, den Typ, das Atomgewicht, den Farbcode gemäß dem in der Chemie gebräuchlichen CPK-Modell [15] sowie die elektronische Konfiguration.

Da der Programmcode für Bokeh-Beispiele recht umfangreich und komplex ausfällt, verzichten wir hier auf den Abdruck. Grundsätzlich entspricht die Vorgehensweise beim Erstellen einer Visualisierung aber jener bei Matplotlib und PyQtGraph.

Pandas

Bei Pandas handelt es sich um eine Bibliothek zur Datenanalyse (Python Data Analysis Library), die unter der BSD-Lizenz steht. Der Name leitet sich von von "panel data" ab und steht für multidimensional strukturierte Daten. Die Entwickler haben Pandas auf Geschwindigkeit optimiert und daher kritische Codeabschnitte in Cython und C implementiert.

Abbildung 7 vergleicht die Häufigkeit ausgewählter Kindernamen, den zugehörigen Code finden Sie in Listing 3. Nach der Definition der benötigten Module (Zeile 1 bis 3) legen Sie die darzustellenden Daten fest. In den Zeilen 5 und 6 definieren Sie dazu zwei Listen, eine mit den Namen und eine weitere mit deren jeweiliger Häufigkeit.

Abbildung 7: Abbildung mit Datenmengen.

Listing 3

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
names = ['Felix','Jessica','Mandy','Norbert','Jan']
births = [915, 155, 77, 578, 973]
babyDataSet = list(zip(names,births))
df = pd.DataFrame(data = babyDataSet, columns=['Namen', 'Anzahl'], index=names)
df.plot(kind='bar')

Über die internen Python-Funktionen list und zip erzeugt Zeile 7 daraus eine zweidimensionale Datenmenge, auf deren Basis Pandas in Zeile 9 eine Darstellung generiert. Dabei weisen Sie dem Parameter data die Datenmenge selbst zu, columns die Ebenen der Datenmenge und index die in Zeile 5 festgelegten Namen.

Damit rendert Pandas die Häufigkeit des Namens entlang der y-Achse und trägt auf der x-Achse als Bezeichner den Namen unter dem jeweiligen Balken ein. Der Aufruf in Zeile 10 erzeugt mittels df.plot() und dem Parameter kind='bar' schließlich das Diagramm.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • 3D-Welten mit Python und Panda3D
    Es gibt zwar einige freie Spiele-Engines, doch nicht jede ist leicht zu programmieren. Panda3D vereinfacht durch die Skriptsprache Python den Einstieg, bietet aber auch Potenzial für Profis.
  • An einem Strang
    IPython Notebook bietet eine nahtlose Integration von Dokument, Programm und Werkzeugen. Damit erleichtert es das gemeinsame Arbeiten erheblich.
  • Durchgeschlängelt
    Mit Features überladene Tabellenkalkulationen gibt es zur Genüge. Dass eine ausgefeilte Spreadsheat-Anwendung auch einsteigertauglich sein kann, demonstriert das auf Python basierende Pyspread.
  • Augenfällig
    Die Plotutils versprechen schnelle Hilfe bei der Visualisierung nummerischer Daten in unterschiedlichsten Ausgabeformaten.
  • Entwicklungshelfer
    Nachdem in den ersten Teilen der Python-Einführung die Sprache beschrieben wurde, geht es im letzten Teil um nützliche Hilfen rund um Python.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Broadcom Adapter 802.11n nachinstallieren
Thomas Mengel, 31.10.2017 20:06, 2 Antworten
Hallo, kann man nachträglich auf einer Liveversion, MX Linux auf einem USB-Stick, nachträglich...
RUN fsck Manually / Stromausfall
Arno Krug, 29.10.2017 12:51, 1 Antworten
Hallo, nach Absturz des Rechners aufgrund fehlendem Stroms startet Linux nicht mehr wie gewohn...
source.list öffnet sich nicht
sebastian reimann, 27.10.2017 09:32, 2 Antworten
hallo Zusammen Ich habe das problem Das ich meine source.list nicht öffnen kann weiß vlt jemman...
Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 6 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...