Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

Bokeh: Die Python-Bibliothek für Visualisierung der nächsten Generation

-
5
 Minuten Lesezeit
-

Die Datenanalyse bietet viele Möglichkeiten. Allerdings kann es für nicht-technische Benutzer in einem Unternehmen schwierig sein, die Rohdaten zu interpretieren. Indem sie relevante Informationen klar und explizit darstellt, behebt die Data Visualization dieses Problem und ermöglicht es jedem, Big Data zu nutzen..

Wenn du bereits mit Data-Visualization-Bibliotheken wie Matplotlib und/oder Seaborn vertraut bist, werden wir heute sehen, warum Bokeh ein Muss für deine Data-Viz-Werkzeuge ist.

Wie seine Schwesterbibliotheken ist Bokeh eine Python-Bibliothek zur Datenvisualisierung, mit der du elegante und professionelle Diagramme und Grafiken wie Lineplots, Barplots, Histogramme, Verteilungen usw. mit Beschriftungen, Texten oder anderen Anmerkungen erstellen kannst. Bokeh unterscheidet sich jedoch durch die Interaktivität der Grafiken, die plattformübergreifende Darstellung und den Grad der Personalisierung.

 

💡Auch interessant:

Python HTTP Requests
API Programmierung mit Flask
Python Test Nose
NLTK Python

 

Inwiefern ist Bokeh ein interaktiver Bibliothekstyp?

Mit ein paar Zeilen Python-Code kann Bokeh Grafiken erstellen, die von Javascript angetrieben werden und eine unvergleichliche Interaktivität und Dynamik bieten.

Der Prozess der Ausführung eines Bokeh-Codes besteht aus zwei Teilen: Zuerst wählst du einen Block aus den vorkonstruierten Blöcken von Bokeh aus, um unsere Visualisierung zu erstellen, dann fügst du zusätzlichen Code hinzu, um diese Bausteine anzupassen und so genau wie möglich auf unsere Bedürfnisse zu reagieren.

Ausgehend von unserem Python-Code wird Bokeh diesen Code dann in JSON umwandeln und an BokehJS, eine Javascript-Bibliothek, weiterleiten, die wiederum diese Informationen an moderne Webbrowser zur Anzeige in einem Web-Tab weitergibt.

Die Interaktionsfunktionen in unserem Graphen sind nativ in Bokeh, d.h. selbst der einfachste Graph hat diese Funktionen in einer Toolbox auf der (standardmäßig rechten) Seite des Graphen:

Mit der add_tools()-Methode können wir diesem Toolkit neue Tools hinzufügen, z. B. kannst du mit der HoverTool-Klasse Funktionen hinzufügen, wenn du mit der Maus über das Bild fährst.

Aus praktischer Sicht ist Bokeh einfach zu erlernen. Es basiert auf einem System von zusätzlichen Ebenen, die während der Ausführung des Codes hinzugefügt werden. So können wir, nachdem wir unsere Figur erstellt haben, einen neuen Plottyp hinzufügen, indem wir diese neue Ebene über den bestehenden Graphen legen.

Zum Beispiel der folgende Code:

zeigt in einem neuen Browser-Tab eine HTML-Datei an, die :

Andererseits bietet Bokeh die Möglichkeit, Widgets auf unserer Grafik zu erstellen und zu verwenden, was ein dynamisches und interaktiveres Bild verspricht als je zuvor.

Mit der CustomJS-Klasse des Untermoduls bokeh.models ist es ein Kinderspiel, Werte über Slider, Checkboxen oder Formularfelder zu aktualisieren. CustomJS-Objekte stellen eine Verbindung zwischen den manipulierten Python-Objekten und den JavaScript-Objekten her, die bokeh zum Erzeugen und Anzeigen von Figuren verwendet. Die Widgets, die in ihrer Konzeption der Sprache JavaScript sehr ähnlich sind, stellen einen echten Game-Changer für die Datenvisualisierung dar, indem sie von statischen 2D-Visualisierungen zu interaktiven, dynamischen, veränderbaren und an alle Bedürfnisse anpassbaren Visualisierungen übergehen.

Wenn man diese Funktion von Bokeh mit der Möglichkeit kombiniert, den Anzeigetyp zwischen einem PNG-Bild, einem Notebook oder einer HTML-Webdatei zu wählen, wird klar, dass Bokeh mehr als nur eine Visualisierungsbibliothek ist, denn es ermöglicht fast die Erstellung von Webanwendungen für die Datenvisualisierung, wie dieses Beispiel aus der Bokeh-Dokumentation beweist.

Bokeh ist ein Mittelding zwischen einer gewöhnlichen Visualisierungsbibliothek und einer Bibliothek zur Erstellung von Datenanwendungen wie Streamlit.

Um eine echte Webanwendung für die Datenvisualisierung zu erhalten, kann Bokeh die angezeigten Daten in Echtzeit von Quellen wie Finanzmärkten, physischen Sensoren oder IOT sammeln.

Mit der add_tools()-Methode können wir diesem Toolkit neue Tools hinzufügen, z. B. kannst du mit der HoverTool-Klasse Funktionen hinzufügen, wenn du mit der Maus über das Bild fährst.

Aus praktischer Sicht ist Bokeh einfach zu erlernen. Es basiert auf einem System von zusätzlichen Ebenen, die während der Ausführung des Codes hinzugefügt werden. So können wir, nachdem wir unsere Figur erstellt haben, einen neuen Plottyp hinzufügen, indem wir diese neue Ebene über den bestehenden Graphen legen.

Zum Beispiel der folgende Code:

Er zeigt in einem neuen Browser-Tab eine HTML-Datei an, die :

Andererseits bietet Bokeh die Möglichkeit, Widgets auf unserer Grafik zu erstellen und zu verwenden, was ein dynamisches und interaktiveres Bild verspricht als je zuvor.

Mit der CustomJS-Klasse des Untermoduls bokeh.models ist es ein Kinderspiel, Werte über Slider, Checkboxen oder Formularfelder zu aktualisieren. CustomJS-Objekte stellen eine Verbindung zwischen den manipulierten Python-Objekten und den JavaScript-Objekten her, die bokeh zum Erzeugen und Anzeigen von Figuren verwendet. Die Widgets, die in ihrer Konzeption der Sprache JavaScript sehr ähnlich sind, stellen einen echten Game-Changer für die Datenvisualisierung dar, indem sie von statischen 2D-Visualisierungen zu interaktiven, dynamischen, veränderbaren und an alle Bedürfnisse anpassbaren Visualisierungen übergehen.

Wenn man diese Funktion von Bokeh mit der Möglichkeit kombiniert, den Anzeigetyp zwischen einem PNG-Bild, einem Notebook oder einer HTML-Webdatei zu wählen, wird klar, dass Bokeh mehr als nur eine Visualisierungsbibliothek ist, denn es ermöglicht fast die Erstellung von Webanwendungen für die Datenvisualisierung, wie dieses Beispiel aus der Bokeh-Dokumentation beweist.

Bokeh ist ein Mittelding zwischen einer gewöhnlichen Visualisierungsbibliothek und einer Bibliothek zur Erstellung von Datenanwendungen wie Streamlit.

Um eine echte Webanwendung für die Datenvisualisierung zu erhalten, kann Bokeh die angezeigten Daten in Echtzeit von Quellen wie Finanzmärkten, physischen Sensoren oder IOT sammeln.

Bokeh, eine anpassbare Bibliothek

Andererseits ermöglicht Bokeh eine nahezu unendliche Anpassung des Renderings. Wenn wir die letzte Grafik noch einmal betrachten, kann man jeden der verschiedenen angezeigten Aspekte zu einem einzigartigen Rendering verändern, indem man beliebig viele Spezifikationsschichten hinzufügt.

Wenn man dem vorherigen Code ein paar zusätzliche Spezifikationszeilen hinzufügt, hat man :

Wenn es mehr Diagramme gibt, haben wir auch die Möglichkeit, diese Diagramme in Zeilen, Spalten oder auf verschiedenen Registerkarten innerhalb desselben Diagramms anzuzeigen. Dies kann sehr nützlich sein, wenn du die Diagramme nach Kategorie oder Art des Wertes unterscheiden willst.

Wir haben gesehen, wie gut Bokeh mit Python-Listen, NumPy-Tabellen, Pandas-Reihen usw. funktionieren kann. Was wir bis dahin nicht wussten, ist, dass diese Einträge in eine Column DataSource, einen eigenen Datentyp von Bokeh, umgewandelt werden. Dieser Datentyp ist das zentrale Datenquellenobjekt, das in Bokeh verwendet wird. Obwohl Bokeh sie oft transparent für uns erstellt, gibt es Zeiten, in denen es sinnvoll ist, sie explizit zu erstellen, insbesondere bei Pandas Dataframes.

Im folgenden Beispiel werden wir aus einem Pokemon-Dataframe zwei Datenquellen abrufen, die wir in zwei verschiedenen Tabs verwenden werden, einen für die Anzeige legendärer Pokemon und einen weiteren Tab für nicht-legendäre Pokemon.

Wenn du mit der Maus über einen bestimmten Punkt fährst, erhältst du Informationen über diesen Punkt, wie z. B. den Namen, Verteidigungs- und Angriffspunkte.

Bokeh, eine spezialisierte Bibliothek?

Wenn du immer noch nicht von der Leistungsfähigkeit von Bokeh überzeugt bist, solltest du wissen, dass diese Bibliothek für spezielle Probleme wie die Anzeige von geografischen Daten oder die Anzeige von Graphen, die beispielsweise mit NetworkX implementiert wurden, sehr nützlich sein kann. Der folgende Code zeigt einen NetworkX-Graphen an, indem er Eigenschaften für die Knoten und Kanten des Graphen angibt.

Wenn die einfache Darstellung eines Graphen nicht unbedingt sehr relevant oder originell ist, dann sind es die mit Bokeh verbundenen Funktionen, wie z. B. das Hervorheben von benachbarten Knoten (Nachbarn).

Bokeh ist eine Python-Bibliothek, mit der man aus verschiedenen Datenquellen interaktive, dynamische und anpassbare Renderings erstellen kann, die auf verschiedenen Plattformen angezeigt werden können.

Bokeh ist eine Mischung aus einer klassischen Data-Visualization-Library und einer Web-Application-Library und ist die nächste Generation der Data-Visualization-Library, die für allgemeine und spezielle Zwecke eingesetzt werden kann.

Wenn du dich für Bokeh und Data Visualization interessierst, kannst du dich für unsere Ausbildung zum Data Analyst entscheiden, bei der Data Visualization kein Geheimnis mehr für dich sein wird.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.