{"id":178759,"date":"2026-01-28T13:02:10","date_gmt":"2026-01-28T12:02:10","guid":{"rendered":"https:\/\/liora.io\/de\/?p=178759"},"modified":"2026-02-06T04:30:05","modified_gmt":"2026-02-06T03:30:05","slug":"bokeh-die-python-bibliothek-fuer-visualisierung-der-naechsten-generation","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/bokeh-die-python-bibliothek-fuer-visualisierung-der-naechsten-generation","title":{"rendered":"Bokeh: Die Python-Bibliothek f\u00fcr Visualisierung der n\u00e4chsten Generation"},"content":{"rendered":"<p><strong><b>Die Datenanalyse bietet viele M\u00f6glichkeiten. Allerdings kann es f\u00fcr 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\u00f6glicht es jedem, Big Data zu nutzen.<\/b>.<\/strong><\/p>\nWenn du bereits mit Data-Visualization-Bibliotheken wie <a href=\"https:\/\/liora.io\/de\/matplotlib-alles-wissen\">Matplotlib<\/a> und\/oder <a href=\"https:\/\/liora.io\/de\/seaborn-alles-ueber-das-python-tool-zur-datenvisualisierung\">Seaborn<\/a> vertraut bist, werden wir heute sehen, warum Bokeh ein Muss f\u00fcr deine Data-Viz-Werkzeuge ist.\n\nWie seine<strong> Schwesterbibliotheken ist Bokeh<\/strong> eine <a href=\"https:\/\/liora.io\/de\/top-10-der-python-bibliotheken-fur-data-scientists\">Python-Bibliothek<\/a> 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\u00e4t der Grafiken, die plattform\u00fcbergreifende Darstellung und den Grad der Personalisierung.\n\n?Auch interessant:\n<table dir=\"ltr\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<colgroup>\n<col width=\"426\"><\/colgroup>\n<tbody>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Python HTTP Requests&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/python-http-request-requests-alles-wichtige\"><a href=\"https:\/\/liora.io\/de\/python-http-request-requests-alles-wichtige\" target=\"_blank\" rel=\"noopener\">Python HTTP Requests<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;API Programmierung mit Flask&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/api-programmierung-und-dokumentation-mit-python-flask-swagger-und-connexion\"><a href=\"https:\/\/liora.io\/de\/api-programmierung-und-dokumentation-mit-python-flask-swagger-und-connexion\" target=\"_blank\" rel=\"noopener\">API Programmierung mit Flask<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Python Test Nose&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/python-test-nose\"><a href=\"https:\/\/liora.io\/de\/python-test-nose\" target=\"_blank\" rel=\"noopener\">Python Test Nose<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;NLTK Python&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/nltk-python\"><a href=\"https:\/\/liora.io\/de\/nltk-python\" target=\"_blank\" rel=\"noopener\">NLTK Python<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 class=\"wp-block-heading\" id=\"h-inwiefern-ist-bokeh-ein-interaktiver-bibliothekstyp\">Inwiefern ist Bokeh ein interaktiver Bibliothekstyp?<\/h2>\nMit ein paar Zeilen Python-Code kann Bokeh Grafiken erstellen, die von Javascript angetrieben werden und eine unvergleichliche Interaktivit\u00e4t und Dynamik bieten.\n\nDer Prozess der Ausf\u00fchrung eines <strong>Bokeh-Codes<\/strong> besteht aus zwei Teilen: Zuerst w\u00e4hlst du einen Block aus den vorkonstruierten Bl\u00f6cken von Bokeh aus, um unsere Visualisierung zu erstellen, dann f\u00fcgst du zus\u00e4tzlichen Code hinzu, um diese Bausteine anzupassen und so genau wie m\u00f6glich auf unsere Bed\u00fcrfnisse zu reagieren.\n\nAusgehend von unserem Python-Code wird Bokeh diesen Code dann in JSON umwandeln und an<strong> BokehJS<\/strong>, eine <a href=\"https:\/\/kinsta.com\/de\/blog\/javascript-bibliotheken\/\">Javascript-Bibliothek,<\/a> weiterleiten, die wiederum diese Informationen an moderne Webbrowser zur Anzeige in einem Web-Tab weitergibt.\n\nDie Interaktionsfunktionen in unserem Graphen sind nativ in Bokeh, d.h. selbst der einfachste Graph hat diese Funktionen in einer Toolbox auf der (standardm\u00e4\u00dfig rechten) Seite des Graphen:\n\nMit der<strong> add_tools()-Methode<\/strong> k\u00f6nnen wir diesem Toolkit neue Tools hinzuf\u00fcgen, z. B. kannst du mit der HoverTool-Klasse Funktionen hinzuf\u00fcgen, wenn du mit der Maus \u00fcber das Bild f\u00e4hrst.\n\nAus praktischer Sicht ist <strong>Bokeh<\/strong> einfach zu erlernen. Es basiert auf einem System von zus\u00e4tzlichen Ebenen, die w\u00e4hrend der Ausf\u00fchrung des Codes hinzugef\u00fcgt werden. So k\u00f6nnen wir, nachdem wir unsere Figur erstellt haben, einen neuen Plottyp hinzuf\u00fcgen, indem wir diese neue Ebene \u00fcber den bestehenden Graphen legen.\n\nZum Beispiel der folgende Code:\n\nzeigt in einem neuen Browser-Tab eine HTML-Datei an, die :\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2022\/11\/image6.png\" title=\"\" alt=\"\" loading=\"lazy\"><figcaption><\/figcaption><\/figure>\nAndererseits bietet <strong>Bokeh<\/strong> die M\u00f6glichkeit, Widgets auf unserer Grafik zu erstellen und zu verwenden, was ein dynamisches und interaktiveres Bild verspricht als je zuvor.\n\nMit der<strong> CustomJS-Klasse<\/strong> des Untermoduls bokeh.models ist es ein Kinderspiel, Werte \u00fcber 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 <a href=\"https:\/\/liora.io\/de\/java-grundlagen-wir-erklaerens-dir-jdk-jre-und-jvm\">JavaScript<\/a> sehr \u00e4hnlich sind, stellen einen echten Game-Changer f\u00fcr die Datenvisualisierung dar, indem sie von statischen 2D-Visualisierungen zu interaktiven, dynamischen, ver\u00e4nderbaren und an alle Bed\u00fcrfnisse anpassbaren Visualisierungen \u00fcbergehen.\n\nWenn man diese Funktion von Bokeh mit der M\u00f6glichkeit kombiniert, den Anzeigetyp zwischen einem PNG-Bild, einem Notebook oder einer HTML-Webdatei zu w\u00e4hlen, wird klar, dass Bokeh mehr als nur eine Visualisierungsbibliothek ist, denn es erm\u00f6glicht fast die Erstellung von Webanwendungen f\u00fcr die Datenvisualisierung, wie dieses Beispiel aus der Bokeh-Dokumentation beweist.\n\nBokeh ist ein Mittelding zwischen einer gew\u00f6hnlichen Visualisierungsbibliothek und einer Bibliothek zur Erstellung von Datenanwendungen wie Streamlit.\n\nUm eine echte Webanwendung f\u00fcr die Datenvisualisierung zu erhalten, kann Bokeh die angezeigten Daten in Echtzeit von Quellen wie Finanzm\u00e4rkten, physischen Sensoren oder <strong>IOT sammeln.<\/strong>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2022\/12\/ajax_streaming-1-1.gif\" title=\"\" alt=\"\" loading=\"lazy\">\n\n<figcaption><\/figcaption><\/figure>\nMit der add_tools()-Methode k\u00f6nnen wir diesem Toolkit neue Tools hinzuf\u00fcgen, z. B. kannst du mit der HoverTool-Klasse Funktionen hinzuf\u00fcgen, wenn du mit der Maus \u00fcber das Bild f\u00e4hrst.\n\nAus <strong>praktischer Sicht ist Bokeh<\/strong> einfach zu erlernen. Es basiert auf einem System von zus\u00e4tzlichen Ebenen, die w\u00e4hrend der Ausf\u00fchrung des Codes hinzugef\u00fcgt werden. So k\u00f6nnen wir, nachdem wir unsere Figur erstellt haben, einen neuen Plottyp hinzuf\u00fcgen, indem wir diese neue Ebene \u00fcber den bestehenden Graphen legen.\n\nZum Beispiel der folgende Code:\n\nEr zeigt in einem neuen Browser-Tab eine HTML-Datei an, die :\n\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2022\/11\/image6.png\" title=\"\" alt=\"\" loading=\"lazy\">\n\nAndererseits bietet Bokeh die M\u00f6glichkeit, Widgets auf unserer Grafik zu erstellen und zu verwenden, was ein dynamisches und interaktiveres Bild verspricht als je zuvor.\n\nMit der <strong>CustomJS-Klasse<\/strong> des Untermoduls bokeh.models ist es ein Kinderspiel, Werte \u00fcber 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 \u00e4hnlich sind, stellen einen echten Game-Changer f\u00fcr die Datenvisualisierung dar, indem sie von statischen 2D-Visualisierungen zu interaktiven, dynamischen, ver\u00e4nderbaren und an alle Bed\u00fcrfnisse anpassbaren Visualisierungen \u00fcbergehen.\n\nWenn man diese Funktion von Bokeh mit der M\u00f6glichkeit kombiniert, den Anzeigetyp zwischen einem PNG-Bild, einem Notebook oder einer HTML-Webdatei zu w\u00e4hlen, wird klar, dass Bokeh mehr als nur eine Visualisierungsbibliothek ist, denn es erm\u00f6glicht fast die Erstellung von Webanwendungen f\u00fcr die Datenvisualisierung, wie dieses Beispiel aus der Bokeh-Dokumentation beweist.\n\nBokeh ist ein Mittelding zwischen einer gew\u00f6hnlichen Visualisierungsbibliothek und einer Bibliothek zur Erstellung von Datenanwendungen wie Streamlit.\n\nUm eine echte Webanwendung f\u00fcr die <a href=\"https:\/\/liora.io\/de\/altair-alles-ueber-diese-bibliothek-zur-statistischen-visualisierung\">Datenvisualisierung<\/a> zu erhalten, kann Bokeh die angezeigten Daten in Echtzeit von Quellen wie Finanzm\u00e4rkten, physischen Sensoren oder IOT sammeln.\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2022\/12\/ajax_streaming-1-1.gif\" title=\"\" alt=\"\" loading=\"lazy\">\n\n<figcaption><\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\" id=\"h-bokeh-eine-anpassbare-bibliothek\">Bokeh, eine anpassbare Bibliothek<\/h2>\nAndererseits erm\u00f6glicht <strong>Bokeh<\/strong> 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\u00e4ndern, indem man beliebig viele Spezifikationsschichten hinzuf\u00fcgt.\n\nWenn man dem vorherigen Code ein paar zus\u00e4tzliche Spezifikationszeilen hinzuf\u00fcgt, hat man :\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2022\/11\/image13.png\" title=\"\" alt=\"\" loading=\"lazy\">\n\n<figcaption><\/figcaption><\/figure>\nWenn es mehr <strong>Diagramme<\/strong> gibt, haben wir auch die M\u00f6glichkeit, diese Diagramme in Zeilen, Spalten oder auf verschiedenen Registerkarten innerhalb desselben Diagramms anzuzeigen. Dies kann sehr n\u00fctzlich sein, wenn du die Diagramme nach Kategorie oder Art des Wertes unterscheiden willst.\n\nWir haben gesehen, wie gut Bokeh mit Python-Listen, <a href=\"https:\/\/liora.io\/de\/numpy\">NumPy-Tabellen<\/a>, Pandas-Reihen usw. funktionieren kann. Was wir bis dahin nicht wussten, ist, dass diese Eintr\u00e4ge 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\u00fcr uns erstellt, gibt es Zeiten, in denen es sinnvoll ist, sie explizit zu erstellen, insbesondere bei <a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.DataFrame.html\">Pandas Dataframes.<\/a>\n\nIm folgenden Beispiel werden wir aus einem Pokemon-Dataframe zwei Datenquellen abrufen, die wir in zwei verschiedenen Tabs verwenden werden, einen f\u00fcr die Anzeige legend\u00e4rer Pokemon und einen weiteren Tab f\u00fcr nicht-legend\u00e4re Pokemon.\n\nWenn du mit der Maus \u00fcber einen bestimmten Punkt f\u00e4hrst, erh\u00e4ltst du Informationen \u00fcber diesen Punkt, wie z. B. den <strong>Namen, Verteidigungs- und Angriffspunkte.<\/strong>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2022\/11\/image8.png\" title=\"\" alt=\"\" loading=\"lazy\">\n\n<figcaption><\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\" id=\"h-bokeh-eine-spezialisierte-bibliothek\">Bokeh, eine spezialisierte Bibliothek?<\/h2>\nWenn du immer noch nicht von der <strong>Leistungsf\u00e4higkeit von Bokeh<\/strong> \u00fcberzeugt bist, solltest du wissen, dass diese Bibliothek f\u00fcr spezielle Probleme wie die Anzeige von geografischen Daten oder die Anzeige von Graphen, die beispielsweise mit <strong>NetworkX<\/strong> implementiert wurden, sehr n\u00fctzlich sein kann. Der folgende Code zeigt einen NetworkX-Graphen an, indem er Eigenschaften f\u00fcr die Knoten und Kanten des Graphen angibt.\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2022\/11\/image5.png\" title=\"\" alt=\"\" loading=\"lazy\">\n\n<figcaption><\/figcaption><\/figure>\nWenn die einfache Darstellung eines Graphen nicht unbedingt sehr relevant oder originell ist, dann sind es die mit Bokeh verbundenen Funktionen, wie z. B. das <strong>Hervorheben von benachbarten Knoten (Nachbarn).<\/strong>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2022\/11\/image2.png\" title=\"\" alt=\"\" loading=\"lazy\">\n\n<figcaption><\/figcaption><\/figure>\nBokeh ist eine <strong>Python-Bibliothek,<\/strong> mit der man aus verschiedenen Datenquellen interaktive, dynamische und anpassbare Renderings erstellen kann, die auf verschiedenen Plattformen angezeigt werden k\u00f6nnen.\n\nBokeh ist eine Mischung aus einer klassischen <strong>Data-Visualization-Library<\/strong> und einer Web-Application-Library und ist die n\u00e4chste Generation der Data-Visualization-Library, die f\u00fcr allgemeine und spezielle Zwecke eingesetzt werden kann.\n\nWenn du dich f\u00fcr Bokeh und<a href=\"https:\/\/liora.io\/de\/power-bi-waterfall-visual-anwendungsbeispiele\"> Data Visualization interessierst<\/a>, kannst du dich f\u00fcr unsere Ausbildung zum Data Analyst entscheiden, bei der Data Visualization kein Geheimnis mehr f\u00fcr dich sein wird.\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/weiterbildung-data-analyst\">Data Analyst Weiterbildung<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Die Datenanalyse bietet viele M\u00f6glichkeiten. Allerdings kann es f\u00fcr 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\u00f6glicht es jedem, Big Data zu nutzen..<\/p>\n","protected":false},"author":78,"featured_media":178761,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2472],"class_list":["post-178759","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ki"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/178759","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=178759"}],"version-history":[{"count":3,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/178759\/revisions"}],"predecessor-version":[{"id":216443,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/178759\/revisions\/216443"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/178761"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=178759"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=178759"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}