Übrigens, wusstest Du, dass Plotly, bevor es eine sehr bekannte Python-Bibliothek wurde, ein Unternehmen mit Sitz in Montreal ist, das von vier Personen gegründet wurde ?
Ihr Ziel ist es, Werkzeuge zur Visualisierung sowie zur Analyse von Daten zu entwickeln. In diesem Artikel werden wir uns insbesondere mit der Python-Bibliothek plotly beschäftigen.
Welche Tools bietet Plotly an ?
Die Produktionen des Unternehmens sind vielfältig und abwechslungsreich. Dazu gehört auch das Python-Framework Dash, mit dem Webanwendungen entwickelt werden können. Es bietet Webanwendungen, die über einen Webbrowser eingesetzt werden und es ermöglichen, Datenvisualisierungen online zu teilen. Chart studio ist ein weiteres Beispiel für Tools, die von dem Unternehmen entwickelt wurden.
Es handelt sich um eine Software-Infrastruktur, die es ermöglicht, Grafiken auf einer Oberfläche öffentlich oder privat zu speichern. Im öffentlichen Modus stehen allen Nutzern verschiedene vorgefertigte Grafiken zur Verfügung, die heruntergeladen werden können.
Von den verschiedenen Tools und Bibliotheken, die Plotly im Bereich Statistik und Datenanalyse anbietet, werden wir uns im Folgenden mit der berühmten Plotly-Bibliothek beschäftigen.
Welche Bibliotheken bietet Plotly für die Datenvisualisierung?
1. Vergleich mit matplotlib
Dank der Entwicklung verschiedener APIs ist Plotly eine Bibliothek, die in mehreren Programmiersprachen verfügbar ist, z. B. in Python (plotly.py), Java (plotly.js), R, Julia, Matlab etc. Mit ihr lassen sich komplexe und vielfältige Graphen erstellen. Im Folgenden werden wir uns mit Plotly in der Programmiersprache Python beschäftigen, da sie die beliebteste Sprache für Machine Learning ist und außerdem eine der am leichtesten zu erlernenden Sprachen.
Allerdings gibt es in dieser Sprache bereits eine Grafikbibliothek namens Matplotlib, die viel älter als Plotly ist. Diese ermöglicht es ebenfalls, verschiedene Grafiken in wenigen Zeilen Code zu erstellen und scheint ziemlich umfassend zu sein.
Die Frage, die man sich stellen könnte, ist: Wie unterscheidet sich Plotly von Matplotlib? Was ist der Mehrwert von Plotly?
Die Antwort liegt in den zusätzlichen Modi, die Plotly anbietet. Im Gegensatz zu Matplotlib ist Plotly eine kollaborative und interaktive Bibliothek. Mit Chart Studio bietet sie einen Webservice und einen kollaborativen Modus, der, wie oben erwähnt, das Hochladen und Speichern von Datendiagrammen auf einem persönlichen Konto ermöglicht. Es ist die Interaktion mit den verschiedenen Servern von Plotly, die die Erstellung dieses Webdienstes und den kollaborativen Modus ermöglicht. Aber es ist dennoch möglich, einen Modus zu aktivieren (durch das Importieren des Offline-Pakets), der es ermöglicht, die Übertragung der Grafiken in die Cloud zu verhindern und sie nur lokal zugänglich zu machen. So wird die Verbindung zwischen den verschiedenen Plotly-Servern unterbrochen und der kollaborative Modus gestoppt.
Darüber hinaus ist die Visualisierung von Daten mit Plotly weiter entwickelt als die mit Matplotlib. Sie bietet die Erstellung von über 40 verschiedenen Diagrammtypen, von klassischen Diagrammen bis hin zu interaktiven Diagrammen, Animationen und 3D-Diagrammen.
Neben der einfachen Bedienung und der Möglichkeit, die Grafiken anzupassen, ist ein weiterer großer Vorteil von Plotly die Fähigkeit, Ausreißer in einer Datenbank zu erkennen, selbst wenn diese sehr groß ist. Mit Plotly ist es möglich, Informationen über die Daten zu erhalten, indem du einfach mit der Maus auf das Diagramm zeigst. So kann man durch das Lesen des Graphen Ausreißer erkennen und abrufen.
2. Die Unterbibliotheken von Plotly
In diesem Abschnitt werden wir einige wichtige Plotly-Bibliotheken vorstellen, von denen jede einzelne die Verwendung zusätzlicher Werkzeuge ermöglicht.
- plotly.offline ist eine Bibliothek, die es dir ermöglicht, Graphen auf deinem lokalen Computer zu behalten und sie offline zu erzeugen, indem du sie in deinem Webbrowser öffnest.
- plotly.plotly ist eine Unterbibliothek, deren Aufgabe es ist, die Verbindung zwischen Plotly und deinem lokalen Rechner herzustellen. Sie ist, mit anderen Worten, eine Schnittstelle, die die Funktionen enthält, die auf Befehl des Plotly-Servers ausgeführt werden.
- plotly.graph.objects stellt Objekte zur Verfügung, die dir helfen, deine Grafiken zu zeichnen. Es ermöglicht dir, deine Graphen anzupassen.
- plotly.express ermöglicht es, unsere Grafiken sofort anzuzeigen.
plotly.tools stellt verschiedene zusätzliche Werkzeuge zur Verfügung. Zum Beispiel kann man damit Subplots erstellen, also eine Gruppe von Teilgrafiken.
3. Demo der Plotly-Funktionen
Um die Funktionsweise von Plotly besser zu verstehen, werden wir nun versuchen, Daten anhand eines konkreten Beispiels zu visualisieren. Für diesen Schritt steht uns eine Datenbank in Form einer csv-Datei zur Verfügung, die Zugang zu Informationen aus dem Jahr 2016 über das Fahrradverleihsystem in Chicago namens Divvy bietet.
Hist matplotlib vs plotly
Unten siehst du zwei einfache Histogramme, die die verschiedenen Arten der Fortbewegung in Montreal anzeigen.
Das erste ist ein Matplotlib-Diagramm und das zweite ein Histogramm von Plotly.
Es fällt auf, dass die Graphen recht ähnlich sind. Der Hauptunterschied besteht in der Anordnung mehrerer sichtbarer Schaltflächen oben rechts in dem mit Plotly erstellten Diagramm. Als Beispiel dient das erste Symbol, mit dem der Graph direkt heruntergeladen werden kann, wodurch das Bild eine bessere Qualität hat, als wenn es auf andere Weise gespeichert worden wäre.
Im Bild oben zeigt das zweite Symbol, dass es sich um eine Schaltfläche handelt, die zum Vergrößern des Histogramms verfügbar ist. Die restlichen Optionen sind weitere Funktionen, die eine Interaktion mit dem Nutzer ermöglichen.
Maps mit Plotly
Mit Plotly ist es möglich, Karten zu erstellen, um die Kartografie der Erdkugel, eines Kontinents oder auch einer Stadt zu visualisieren.
Heatmaps sind z. B. thermische Figuren, die Daten je nach Häufigkeit oder Position farblich darstellen. Die Farben sind auf einer Heatmap in Form eines Farbverlaufs sichtbar. Wenn wir zum Beispiel eine Map erstellen, die die Häufigkeiten unserer Daten zeigt, gilt: Je häufiger ein Datenwert auftritt, desto weiter entfernt sich seine Farbe auf der Map von einem seltenen Wert.
In unserem praktischen Fall wollen wir mithilfe von zwei Geraden, die wir auf einer Mapbox zeichnen, die beiden längsten Fahrten mit dem Fahrrad anzeigen. Das heißt, die Strecken, bei denen Start- und Zielpunkt geografisch am weitesten entfernt sind.
Wie bereits erwähnt, kann man durch Zeigen mit der Maus auf die auf der Karte sichtbaren Daten weitere Informationen zu diesen Daten erhalten.
In den beiden Bildern unten liest man den Breiten- und Längengrad der beiden ausgewählten Punkte.
3D Graphen
3D-Graphen, die mit Plotly leicht erstellt werden können, ermöglichen es, viele Informationen mithilfe einer einzigen grafischen Darstellung zu liefern. Unten siehst du die Verteilung einer Stichprobe von Fahrradstationen, die von Personen genutzt werden, in Bezug auf ihren Längen- und Breitengrad. Die Stationen sind in der dritten Dimension nach ihrer monatlichen Nutzung verteilt.
Sie werden durch Punkte dargestellt, die je nach Häufigkeit ihrer Nutzung größer oder kleiner sind.
Außerdem wird eine Station rot dargestellt, wenn sie am häufigsten von Männern genutzt wird, und blau, wenn sie am häufigsten von Frauen genutzt wird.
Die 3D-Grafiken sind beweglich. Sie können gedreht und in alle Richtungen gezoomt werden, um je nach Bedarf verschiedene Ansichten zu erhalten. Hier sind zwei Beispiele in Bildern.
Unten ist die Achse hervorgehoben, die die Monate des Jahres darstellt.
Die Erstellung eines Dropdown-Menüs mit Plotly
Ein Diagramm kann mithilfe eines Dropdown-Menüs bearbeitet werden, in dem du angeben kannst, was du beobachten möchtest.
Mit der Widgets-Bibliothek konnte das folgende Diagramm erstellt werden, das die Dauer der Fahrten der Nutzer an verschiedenen Tagen und in verschiedenen Monaten anzeigt.
Im Menü kannst du die Startstation der Fahrten, das Wetter des Tages, an dem die Fahrten stattgefunden haben, und den Monat, in dem die Fahrten stattgefunden haben, auswählen. Die Aufteilung des Histogramms in Tage kann angekreuzt oder nicht angekreuzt werden.
Ergebnis nach der Verwendung von Plotly
Plotly ist zweifellos ein wichtiges Werkzeug für die Datenvisualisierung. Es ist leicht zu erlernen und ermöglicht die Erstellung von komplexen und aufwendigen Grafiken, um die Daten gut darzustellen und verständlich zu machen.