Der Python Package Index bietet Bibliotheken für praktisch jeden Bedarf an Datenvisualisierung – von Pastalog für die Echtzeit-Visualisierung des Trainings neuronaler Netze bis hin zu Gaze Parser für die Augenbewegungsforschung. Einige dieser Bibliotheken können unabhängig vom Anwendungsbereich verwendet werden, doch viele von ihnen sind stark auf eine bestimmte Aufgabe ausgerichtet.
Eine Übersicht über 11 interdisziplinäre Python-Bibliotheken zur Datenvisualisierung, von den beliebtesten bis zu den am wenigsten beliebten, folgt.
Matplotlib
Matplotlib Python Library wird verwendet, um einfache, aber leistungsstarke Visualisierungen zu erzeugen. Sie ist mehr als ein Jahrzehnt alt und die in der Python-Gemeinschaft am häufigsten verwendete Bibliothek für Plots. Matplotlib wird verwendet, um eine breite Palette von Diagrammen zu erstellen – von Histogrammen bis hin zu Wärmebildern.
Matplotlob ist die erste Python-Bibliothek zur Datenvisualisierung, daher bauen viele andere Bibliotheken auf Matplotlib auf und sind so konzipiert, dass sie mit der Analyse zusammenarbeiten. Bibliotheken wie pandas und matplotlib sind „Wrapper“ über Matplotlib, die den Zugriff auf eine Reihe von Methoden von Matplotlib mit weniger Code ermöglichen.
Die Vielseitigkeit von Matplotlib kann genutzt werden, um Visualisierungsarten wie z.B.:
- Streudiagramme
- Balkendiagramme und Histogramme
- Liniendiagramme
- Pie-Charts
- Sterndiagramme
- Konturdiagramme
- Köcherdiagramme
- Spektrogramme
Sie können Gitter, Beschriftungen, Legenden etc.
Seaborn
Seaborn ist eine beliebte Datenvisualisierungsbibliothek, die auf Matplotlib aufbaut. Die Standardstile und Farbpaletten von Seaborn sind viel ausgefeilter als die von Matplotlib. Seaborn stellt die Visualisierung in den Mittelpunkt des Verständnisses jeglicher Daten. Seaborn ist eine Bibliothek auf höherer Ebene – es ist einfacher, bestimmte Arten von Plots zu erzeugen, einschließlich Heatmaps, Zeitreihen und Geigenplots.
ggplot
Ggplot ist eine Python-Visualisierungsbibliothek, die auf ggplot2 von R und der Grammatik der Grafik basiert. Sie können Plots mit Hilfe der High-Level-Grammatik konstruieren, ohne sich um die Implementierungsdetails zu kümmern. Ggplot arbeitet anders als Matplotlib: Es erlaubt dem Benutzer, Komponenten zu schichten, um einen vollständigen Plot zu erstellen. Zum Beispiel kann der Benutzer mit Achsen beginnen und dann Punkte hinzufügen, dann eine Linie, eine Trendlinie, usw. Die Grammatik der Grafik wurde als „intuitive“ Methode für das Plotten gepriesen, allerdings brauchen erfahrene Matplotlib-Benutzer vielleicht etwas Zeit, um sich an diese neue Denkweise zu gewöhnen.
Bokeh
Bokeh, nativ in Python, basiert ebenfalls auf der Grammatik der Grafik wie ggplot. Es unterstützt auch Streaming- und Echtzeitdaten. Das Alleinstellungsmerkmal ist die Fähigkeit, interaktive, webfähige Diagramme zu erstellen, die problemlos als JSON-Objekte, HTML-Dokumente oder interaktive Webanwendungen ausgegeben werden können.
Bokeh verfügt über drei Schnittstellen mit unterschiedlichem Grad an Kontrolle, um verschiedenen Arten von Benutzern gerecht zu werden. Die oberste Ebene ist für die schnelle Erstellung von Diagrammen gedacht. Sie enthält Methoden zur Erstellung gängiger Diagramme wie Balkendiagramme, Boxplots und Histogramme. Auf der mittleren Ebene kann der Benutzer die grundlegenden Bausteine jedes Diagramms steuern (z. B. die Punkte in einem Streudiagramm) und verfügt über die gleiche Spezifität wie Matplotlib. Die untere Ebene richtet sich an Entwickler und Softwareingenieure. Sie hat keine voreingestellten Vorgaben und erfordert, dass der Benutzer jedes Element des Diagramms definiert.
Plotly
Während Plotly weithin als Online-Plattform für die Datenvisualisierung bekannt ist, wissen nur sehr wenige, dass es von einem Python-Notebook aus aufgerufen werden kann. Wie Bokeh liegt die Stärke von Plotly in der Erstellung interaktiver Plots, und es bietet Konturplots, die in den meisten Bibliotheken nicht zu finden sind.
Pygal
Pygal bietet wie Plotly und Bokeh interaktive Plots, die in einen Webbrowser eingebettet werden können. Die Möglichkeit, Diagramme als SVGs auszugeben, ist sein Hauptunterscheidungsmerkmal. Für die Arbeit mit kleineren Datensätzen reichen SVGs völlig aus. Bei Diagrammen mit Hunderttausenden von Datenpunkten werden sie jedoch träge und haben Probleme beim Rendern.
Es ist einfach, mit nur ein paar Zeilen Code ein schön aussehendes Diagramm zu erstellen, da jeder Diagrammtyp in eine Methode verpackt ist und die eingebauten Stile großartig sind.
Altair
Altair ist eine deklarative statistische Visualisierungs-Python-Bibliothek, die auf Vega-Lite basiert. Sie müssen nur die Verbindungen zwischen den Datenspalten und den Kodierungskanälen angeben, wie z.B. x-Achse, y-Achse, Farbe, usw. und der Rest der Plot-Details wird automatisch gehandhabt. Das macht Altair einfach, freundlich und konsistent. Mit Altair ist es einfach, effektive und schöne Visualisierungen mit einer minimalen Menge an Code zu entwerfen.
Geoplotlib
Geoplotlib ist eine Toolbox, die für das Plotten geographischer Daten und die Erstellung von Karten verwendet wird. Es kann verwendet werden, um eine Vielzahl von Kartentypen, wie Choroplethen, Heatmaps und Punktdichtekarten zu erstellen. Pyglet (eine objektorientierte Programmierschnittstelle) muss installiert sein, um Geoplotlib verwenden zu können.
Geoplotlib reduziert die Komplexität der Gestaltung von Visualisierungen, indem es eine Reihe von eingebauten Werkzeugen für die häufigsten Aufgaben wie Dichtevisualisierung, räumliche Graphen und Formdateien bereitstellt.
Da die meisten Python-Bibliotheken zur Datenvisualisierung keine Karten anbieten, ist es gut, eine Bibliothek zu haben, die ihnen gewidmet ist.
Gleam
Gleam ist vom Shiny-Paket von R inspiriert. Es ermöglicht dem Benutzer, jede Analyse in interaktive Webanwendungen zu verwandeln, indem er nur Python-Skripte verwendet. Gleam-Benutzer brauchen dafür keine HTML-, CSS- oder JavaScript-Kenntnisse. Gleam funktioniert mit jeder Python-Datenvisualisierungsbibliothek. Sobald die Benutzer ein Diagramm erstellt haben, können sie Felder darauf aufbauen, um Daten zu filtern und zu sortieren.
Missingno
Der Umgang mit fehlenden Daten ist mühsam. Mit Missingno lässt sich die Vollständigkeit eines Datensatzes schnell feststellen, anstatt mühsam eine Tabelle zu durchsuchen. Der Benutzer kann Daten nach Vollständigkeit filtern und sortieren oder Korrelationen mit einer Heatmap oder einem Dendrogramm aufdecken.
Leather
Leather ist für alle Datentypen geeignet und erzeugt Diagramme wie SVGs, so dass sie ohne Qualitätsverlust skaliert werden können. Der Schöpfer von Leather, Christopher Groskopf, bringt es auf den Punkt: „Leather ist die Python-Diagrammbibliothek für alle, die Diagramme sofort brauchen und denen es egal ist, ob sie perfekt sind.“ Da diese Bibliothek relativ neu ist, ist ein Teil der Dokumentation noch in Arbeit. Die Diagramme, die erstellt werden können, sind ziemlich einfach – aber das ist ja auch so gewollt.
Es gibt eine breite Palette von Visualisierungswerkzeugen, mit einer großen Vielfalt, je nach Schwerpunkt der Aufgabe, die für Python verfügbar ist. Dies spiegelt sich in der schieren Anzahl der verfügbaren Bibliotheken wider. Der Anwender sollte sich unbedingt die Unterschiede zwischen den Ansätzen und deren Auswirkungen vor Augen führen, bevor er sich auf einen bestimmten Ansatz festlegt.