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

Logo site

Matplotlib: Alles über die Python-Bibliothek von Dataviz

-
6
 Minuten Lesezeit
-

Matplotlib ist eine Open-Source-Python-Bibliothek, mit der du Datenvisualisierungen erstellen kannst. Hier erfährst du alles, was du wissen musst: Definition, Funktionsweise, Schwierigkeiten, Schulungen…

Die Visualisierung von Daten ist ein zentraler Schritt bei der Datenanalyse. Nachdem du Daten gesammelt, gespeichert und analysiert hast, ist es wichtig, die Ergebnisse dieser Analysen in Berichte und grafische Visualisierungen umzuwandeln.

Das menschliche Gehirn versteht ein Diagramm schneller als eine Reihe von Statistiken in Tabellenform. DataViz ermöglicht es daher, die Ergebnisse einer Analyse mit den nicht-technischen Teams eines Unternehmens zu teilen, insbesondere mit den Führungskräften.

Was genau ist Matplotlib?

Matplotlib ist eine Open-Source-Python-Bibliothek, die ursprünglich von dem Neurobiologen John Hunter im Jahr 2002 entwickelt wurde. Sein Ziel war es, die elektrischen Signale des Gehirns von Menschen mit Epilepsie zu visualisieren. Um dies zu erreichen, wollte er die grafischen Gestaltungsmöglichkeiten von MATLAB mit Python replizieren.

Nach dem Tod von John Hunter im Jahr 2012 wurde Matplotlib im Laufe der Zeit von vielen Mitwirkenden der Open-Source-Gemeinschaft weiterentwickelt. Sie wird verwendet, um qualitativ hochwertige Diagramme und Grafiken zu erstellen. Es ist eine Open-Source-Alternative zu MATLAB.

Es ist z. B. möglich, mit wenigen Zeilen Code Plots, Histogramme, Balkendiagramme und alle Arten von Diagrammen zu erstellen. Es handelt sich um ein sehr umfassendes Werkzeug, mit dem du sehr detaillierte Datenvisualisierungen erstellen kannst.

Diese Bibliothek ist besonders nützlich für Leute, die mit Python oder NumPy arbeiten. Sie wird insbesondere bei Servern für Webanwendungen, Shells und Python-Skripten eingesetzt. Mit den APIs von matplotlib ist es für Entwickler auch möglich, Grafiken in GUI-Anwendungen zu integrieren.

Die wichtigsten Konzepte von Matplotlib

Matplotlib basiert auf mehreren Schlüsselelementen. Eine „Figur“ ist eine vollständige Abbildung. Jede Linie in dieser Abbildung wird als „Achse“ bezeichnet.

Plotting“ ist das Erstellen eines Diagramms. Du musst Daten in Form von Schlüssel/Wert-Paaren verwenden, die die X- und Y-Achse bilden. Anschließend werden Funktionen wie „scatter“, „bar“ und „pie“ verwendet, um das Muster zu erstellen.

Es können grundlegende Diagramme wie Balkendiagramme oder Histogramme, aber auch komplexere dreidimensionale Figuren erstellt werden.

4 Dinge, die du mit Matplotlib tun solltest

Mit Matplotlib kannst du die Optik deiner Grafiken verbessern, indem du Titel und Beschriftungen hinzufügst und den Stil und die Farbe der Visualisierungen auswählst. Du kannst auch die Größe der Grafiken beeinflussen und die Anordnung der Grafiken wählen, wenn du mehrere Grafiken in einer Grafik anzeigen willst.

Matplotlib verfügt auch über eine Funktion, mit der du Grafiken frei kommentieren und ein Bild im jpg-Format speichern kannst. Schließlich ist es möglich, eine Grafik mit einem digitalen Tattoo zu versehen, um Copyright-Informationen hinzuzufügen.

Jetzt sehen wir uns einige Beispiele für Grafiken an, die man mit Matplotlib erstellen kann, sowie die wenigen Zeilen Code, um sie zu zeichnen.

1. Funktionen zeichnen

Matplotlib ist in erster Linie eine Bibliothek, mit der man Funktionen zeichnen und ihre Kurven in Diagrammen darstellen kann. Wir können die Verläufe von trigonometrischen Funktionen wie Sinus und Cosinus erhalten, indem wir das Intervall angeben, in dem wir diese Funktionen beobachten wollen.

Hier ist ein Beispiel für eine Darstellung zwischen 0 und 6 für die Sinus- und Cosinusfunktion. Die verwendete Funktion ist plot(), die eine Grundfunktion von Matplotlib ist.

Um diesen Graphen zu erstellen, verwenden wir zwei Bibliotheken, Matplotlib und NumPy. NumPy ermöglicht die Berechnung von Sinus und Cosinus, und die Funktion arrange erstellt eine Liste von 0 bis 2 Pi mit einer Abweichung von 0,1 zwischen jedem Wert.

2. 2D-Diagramme erstellen

Eine weitere Funktion von Matplotlib ist die Erstellung von 2D-Diagrammen, was für Data Scientists bei der Visualisierung von Daten sehr nützlich ist. Es ist möglich, Histogramme, Kreisdiagramme, Schnurrbartdiagramme, Scatterplots, Stackplots (um Daten gestapelt darzustellen), usw. anzuzeigen.

Diese Diagramme können z. B. verwendet werden, um die Verteilung von Daten, ihre statistischen Indikatoren, ihre Trends über einen bestimmten Zeitraum bei der Verarbeitung von Zeitdaten usw. anzuzeigen.

Die wichtigsten verwendeten Funktionen sind

  • hist()um ein Histogramm zu zeichnen.
  • bar()um ein Balkendiagramm zu zeichnen.
  • pie()um ein Tortendiagramm zu zeichnen.
  • box()um Boxplots zu zeichnen.
  • scatter()um eine Punktwolke zu zeichnen.
  • stackplot()um ein Diagramm mit gestapelten Bereichen zu zeichnen

Dieses Beispiel stammt aus dem Modul „Matplotlib – Whiskers und Tortendiagramme“ aus unserem Kurs Data Scientist und Data Analyst!

Hier verwenden wir die Funktionen labels, colors und autopct aus dem Pie Chart. Labels ermöglicht die Auswahl des Namens, colors kann auf verschiedene Arten verwendet werden, entweder als Schlüsselwort „Yellow“, „Red“ oder als Hex-Code wie in unserem Beispiel.

Hier verwenden wir zwei Listen Pda und Pds, die wir zuvor erstellt haben, um unsere Barcharts zu erstellen. Zuerst erstellen wir den ersten, dann fügen wir den zweiten hinzu, indem wir bottom=Pda angeben, um zu sagen, dass der zweite Barchart auf den ersten gestapelt wird.

Für dieses Chart haben wir uns entschieden, die beiden Balken nebeneinander zu stellen. Dazu verwenden wir zwei Werte für die X-Achse, zuerst x1, das von 0 bis 11 mit einem Schritt reicht, und x2, das von 0,4 bis 11,4 mit einem Schritt von 1 reicht. Wir tun dies, um die zweite Spalte um 0,4 zu verschieben, was auch die Größe unserer Balken sein wird. 

Diese beiden Grafiken sind vom Modul „Matplotlib – Balkendiagramme“ des Kurses Data Scientist und Data Analyst inspiriert.

Für diesen Graphen verwenden wir Listen für die Achsen. Die beiden Gruppen von Punktwolken teilen sich die gleiche X-Achse, haben aber unterschiedliche Werte für die Y-Achse. Du kannst auch sehen, dass wir das s-Argument verwenden, um die Größe unserer Punkte zu variieren.

3. 3D-Grafiken anzeigen

Es ist auch möglich, 3D-Grafiken mithilfe von Matplotlib zu erstellen. Dazu musst du eine spezielle Matplotlib-Bibliothek namens mpl_toolkits.mplot3d (oft in Axes3D umbenannt) verwenden. 

3D-Grafiken können bestimmte Visualisierungen erleichtern und einen Bericht angenehmer lesbar machen.

Im Allgemeinen werden die Funktionen Axes3D.plot(), Axes3D.scatter, Axes3D.plot_wireframe(), Axes3D.plot_surface(), Axes3D.bar() verwendet.

Hier ist ein Beispiel dafür, was man mit diesen Funktionen anzeigen kann. Das Beispiel stammt aus der offiziellen Dokumentation.

4. Widgets erstellen

Die letzte Funktion von Matplotlib, die wir behandeln werden, ist das Erstellen von Widgets. Das sind interaktive Visualisierungen, auf die der Benutzer Einfluss nehmen kann. Für einen Datenwissenschaftler kann dies sehr nützlich sein, z. B. um zu sehen, wie die Änderung eines Parameters eine Funktion oder ein Machine-Learning-Modell beeinflusst.

Alle Klassen, die du für die Implementierung eines Widgets benötigst, befinden sich im Modul matplolib.widgets.

Um ein Widget zu erstellen, müssen Objekte und Funktionen erstellt werden, die die Aktion eines Objekts auf ein anderes Objekt beschreiben. Beispiele für solche Objekte sind ein Schieberegler (aus der Klasse Slider) oder eine Schaltfläche (aus der Klasse Button), die zum Beispiel einen ganzen Wertebereich abdecken könnten, den der Parameter einer Funktion einnimmt. Je nach dem Wert dieses Parameters sieht der Nutzer also, wie sich der Graph der Funktion sofort ändert.

Dieses Widget stammt aus dem Modul „Einführung in Deep Learning mit Keras“ der Studiengänge Data Scientist und Data Analyst.

Durch Anpassen der Parameter w1 und w2 können wir die rot gezeichnete Gerade so anpassen, dass wir die Grenze finden, die die grün markierten Daten von den orange markierten Daten trennt. Dies ist ein so genanntes lineares Klassifikationsproblem: Wir trennen Daten mithilfe einer linearen Entscheidungsgrenze in zwei Kategorien.

Schlussfolgerung

Während du mit Matplotlib verschiedene Visualisierungen erstellen und anzeigen kannst, gibt es auch andere Bibliotheken, mit denen du ebenso coole Visualisierungen erstellen kannst. Zu diesen Bibliotheken gehören Seaborn, Bokeh und Ggplot.

Die Visualisierung von Daten steht im Mittelpunkt aller Probleme, mit denen sich Data Scientists und Data Analysts befassen. Um zu lernen, wie man diese Techniken beherrscht, werden in unseren Kursen für Data Scientists und Data Analysts mehrere Module zu Matplotlib, Bokeh und Seaborn angeboten.

Was genau ist PyPlot?

Pyplot ist ein Matplotlib-Modul, das mehrere einfache Funktionen bietet, um Elemente wie Linien, Bilder oder Texte zu den Achsen eines Diagramms hinzuzufügen. Seine Benutzeroberfläche ist sehr komfortabel, weshalb dieses Modul häufig verwendet wird.

Es gibt auch eine „objektorientierte“ (OO) API, die mehr Flexibilität und Anpassungsmöglichkeiten bietet, indem sie das Zusammenstellen von Objekten freier gestaltet. Sie ist jedoch schwieriger zu verwenden.

Matplotlib, Numpy und Pandas

Numpy ist ein Python-Paket, das sich dem wissenschaftlichen Rechnen widmet. Es ist eine unverzichtbare Abhängigkeit von matplotlib, da matplotlib die Numpy-Funktionen für numerische Daten und mehrdimensionale Arrays verwendet.

Pandas wiederum ist eine Python-Bibliothek, die auch von matplotlib zur Datenmanipulation und -analyse verwendet wird. Sie ist keine unverzichtbare Abhängigkeit wie numpy, wird aber sehr oft mit matplotlib verwendet.

Matplotlib und Data Science

Python ist die am häufigsten verwendete Programmiersprache für Data Science und Machine Learning. De facto sind Ressourcen wie NumPy und matplotlib sehr nützlich für die Erstellung von Modellen für maschinelles Lernen.

Programmierer können auf diese Bibliotheken zugreifen, um entscheidende Aufgaben innerhalb der Python-Umgebung zu erledigen. Anschließend können die Ergebnisse mit den anderen Elementen und Funktionen eines Machine-Learning-Programms oder eines neuronalen Netzes integriert werden.

Welche Schwierigkeiten gibt es bei Matplotlib?

Das Erlernen von Matplotlib kann sich als kompliziert erweisen. Es gibt viele Tutorials, aber es gibt einige Schwierigkeiten, die sich dem Anfänger in den Weg stellen.

Zunächst einmal ist diese Bibliothek extrem umfangreich. Insgesamt umfasst sie mehr als 70.000 Zeilen Code. Sie unterstützt auch viele verschiedene Schnittstellen und kann mit verschiedenen Backends interagieren, um Grafiken zu rendern.

Darüber hinaus ist die öffentlich zugängliche Dokumentation zu matplotlib zwar verständlich, aber einige Dokumente sind schlichtweg veraltet. Dieses Werkzeug entwickelt sich im Laufe der Zeit weiter, und einige Beispiele, die im Internet verfügbar sind, können in modernen Versionen tatsächlich mit 70% weniger Codezeilen durchgeführt werden.

Wie kann man Matplotlib erlernen?

Matplotlib bietet viele Möglichkeiten zur Visualisierung von Daten, kann aber aufgrund seiner technischen Komplexität und seiner schwerfälligen Syntax schwer zu beherrschen sein. Es ist schwierig, die Software autodidaktisch zu erlernen, da ein großer Teil der online verfügbaren Dokumentation veraltet ist.

Um zu lernen, wie man diese Bibliothek benutzt, kannst du dich für eine DataScientest-Ausbildung entscheiden. Wir bieten Kurse an, in denen du dich in den verschiedenen Berufen der Datenwissenschaft ausbilden lassen kannst: Data Analyst, Data Scientist, Data Engineer, ML Engineer, Data Manager…

Für alle unsere Kurse ist Python die bevorzugte Programmiersprache. Du wirst lernen, diese Sprache und ihre verschiedenen Bibliotheken für Data Science zu verwenden, insbesondere matplotlib für DataViz. Dieses Werkzeug steht auf dem Programm des Moduls „Datenvisualisierung“ für unsere Kurse Data Analyst, Data Scientist und Data Management.

Alle unsere Kurse bieten einen Blended-Learning-Ansatz, der eine gecoachte Online-Plattform mit Präsenzveranstaltungen kombiniert. Sie können als Weiterbildung oder als intensives BootCamp in nur wenigen Wochen absolviert werden.

Am Ende dieser Wege erhalten die Lernenden ein von der Sorbonne-Universität zertifiziertes Diplom und können sich schnell in den Arbeitsmarkt integrieren. Mehr als 90 % der Absolventen erhalten nach ihrer Ausbildung einen Arbeitsplatz.

Daher ist DataScientest der beste Weg, um zu lernen, wie man Matplotlib, Python und die verschiedenen Ressourcen der Datenwissenschaft beherrscht. Warte nicht länger und entdecke jetzt unsere Kurse.

Du weißt alles über Matplotlib. Um die 4 Dinge zu erfahren, die du über Matplotlib wissen solltest, schau dir unseren Artikel zum Thema an!

Download des Matpolib-Cheatsheets :

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.