Eine Einführung in Matplotlib in Python

Matplotlib ist eine Python-Plotbibliothek, die Experten für maschinelles Lernen hauptsächlich verwenden, um statische und interaktive Visualisierungen zu erstellen.

Was ist Matplotlib

Mathplotlib ist eine Kreation von John D. Hunter aus dem Jahr 2003, die am 8. Mai 2021 veröffentlicht wurde und eine aktuelle Version von 3.4.2 hat.

Diese Bibliothek ist hauptsächlich in Python geschrieben, während der Rest in C Objective und JavaScript geschrieben ist, wodurch sie plattformkompatibel ist.

Matplotlib verwendet NumPy, eine numerische Python-Erweiterung. Seine Erweiterung mit NumPy fügt seine Lebensfähigkeit als Open-Source-Alternative hinzu und macht es zu einer besseren Präferenz als MATLAB.

Für Python-GUI-Anwendungen ermöglicht Matplotlib das Zeichnen statischer Diagramme darauf mithilfe der mitgelieferten objektorientierten API.

Benutzer können nur wenige geschriebene Zeilen Python-Code verwenden, um ihre Daten mithilfe verschiedener Diagramme zu visualisieren, darunter Streudiagramme, Histogramme, Balkendiagramme, Tortendiagramme, Liniendiagramme und Boxplots.

Sie können Matplotlib verwenden, um Diagramme in Umgebungen wie Python-Shell, Jupyter-Notebook,
Jupyter Lab und auch mit Pycharm oder Anaconda und auf Webanwendungsservern wie Flask und Django auf verschiedenen Plattformen.

Wie in MATLAB können Sie die Plots in Bezug auf Schriftarten, Linien, Farben und Stile umfassend steuern.

Lassen Sie uns nach der kurzen Einführung der Matplotib-Bibliothek in Python sehen, wie wir sie in unseren Systemen einrichten können.

Matplotlib-Umgebung einrichten

Wie alle anderen Python-Pakete und -Bibliotheken können Sie die vorkompilierte Matplotlib-Bibliothek und ihre Pakete mit dem pip-Paketmanager auf allen Betriebssystemen installieren.

Natürlich müssen Sie zuerst Python und das Pip-Paket auf Ihrem System installieren.

Die folgenden Befehle zeigen die Version von Python und Pip an, um zu bestätigen, ob diese Tools bereits installiert sind.

Überprüfen Sie, ob Python installiert ist

Python --version

Überprüfen Sie, ob Pip installiert ist

pip -V

Installieren Sie Mathplotlib

Der folgende Befehl installiert das Matplotlib-Paket aus dem Python-Paketindex (PyPI).

python -m pip install matplotlib

Dieser Befehl lädt die relevanten Pakete von Matplotlib herunter und installiert sie. Nach Abschluss der Installation sollte eine erfolgreiche Installationsmeldung angezeigt werden.

Um sicherzustellen, dass Matplotlib erfolgreich installiert wurde, geben Sie den folgenden Befehl ein, der die Version von Matplotlib in Ihrer Eingabeaufforderung anzeigt.

import matplotlib
matplotlib.__version__

Entwickler, die das unkompilierte Matplotlib-Paket installieren möchten, müssen zusätzlich zu Abhängigkeiten, Setup-Skripten, Konfigurationsdateien und Patches Zugriff auf den richtigen Compiler in ihrem System haben.

Diese spezielle unkompilierte Matplolib-Installation kann jedoch kompliziert sein, insbesondere für Matplotlib-Neulinge. Warum also nicht einfach einen einzeiligen Befehl verwenden, um die Bibliothek in Sekundenschnelle zu installieren?🤔

Importieren Sie nach der Installation von Matplotlib das Paket in Ihre Umgebung, um auf seine Dienstprogramme zuzugreifen.

Matplotlib-Plotoptionen

Matplotlib bietet zahlreiche Plotoptionen zur Visualisierung von Daten. Es ermöglicht auch die Anpassung der Diagramme, indem verschiedene Themen, Farben und Palettenoptionen bereitgestellt werden, die der Benutzer verwenden kann, um die Diagramme zu manipulieren.

Diese Plotoptionen umfassen:

#1. Balkendiagramme

Balkendiagramme, bekannt als Balkendiagramme, sind eine geeignete Option, um einen quantitativen Vergleich von Werten innerhalb derselben Kategorie zu visualisieren.

Matplotlib stellt dieses Diagramm mit rechteckigen Balken dar, deren Längen und Höhen ihre proportionalen Werte darstellen. Die Balken können entweder horizontal oder vertikal sein.

Matplotlib verwendet seine Funktion plt.bar(), um das Balkendiagramm zu erstellen.

Darüber hinaus können Sie weitere Funktionen verwenden, um dieses Diagramm zu manipulieren. Beispielsweise beschriften die Funktionen plt.xlabel() und plt.ylabel() die x- bzw. y-Achse des Diagramms.

Mit der Funktion plt.title() können Sie Ihrem Plot auch einen Titel geben, während die Funktion plt.savefig() den Plot speichert. Die Funktion plot.show(), die die wichtigste ist, zeigt den Plot an.

  So aktivieren Sie räumliches Audio für AirPods auf dem iPhone oder iPad

#2. Tortendiagramme

Sie können die proportionale Verteilung der Elemente innerhalb derselben Kategorie mithilfe eines kreisförmigen statistischen Diagramms visualisieren, das wir Tortendiagramme nennen.

Tortendiagramme zeigen Daten in Prozentform an. Der gesamte Bereich des Diagramms entspricht dem Prozentsatz der gesamten Daten, während die einzelnen Tortenstücke Abschnitte des Prozentsatzes der Daten darstellen.

Matplotlib verwendet die Funktion plt.pie(), die die Parameter des Tortendiagramms zeichnet und anpasst.
Weitere Parameter wie autopct, die den Wert des Tortendiagramms bis auf 1 Dezimalstelle drucken, sind beim Zeichnen von Tortendiagrammen nützlich.

Unternehmensorganisationen finden Tortendiagramme nützlich, um relevante Informationen wie Betrieb, Umsatz oder Ressourcen darzustellen.

#3. Histogramm

Ein Histogramm zeigt die numerische Datenverteilung an. Es verwendet kontinuierliche Intervalle, um die Daten in verschiedene Abschnitte zu unterteilen.

Der Hauptunterschied zwischen einem Histogramm und einem Balkendiagramm ist die Art der Daten, die sie verarbeiten. Während Histogramme den kontinuierlichen Datentyp verarbeiten, verarbeiten Balkendiagramme stattdessen kategoriale Daten.

Matplotlib verwendet die Funktion hist(), die ein Array zufälliger oder definierter Werte verwendet, um das Histogramm zu erstellen.

#4. Liniendiagramme

Diese Diagramme sind nützlich, um die Beziehung zwischen zwei Datenwerten, die wir als numerisch und kategorial definieren, auf einer X- und Y-Basis darzustellen.

Liniendiagramme sind wichtig, um die Änderung der Datenwerte über einen bestimmten Zeitraum zu verfolgen.

#5. Streudiagramme

Streudiagramme verdeutlichen die Beziehung, einschließlich der Korrelation zwischen den Variablen in den Daten. Es ist auch nützlich, um Ausreißer zu identifizieren.

Streudiagramme verwenden Punkte, um die Beziehung der Datenvariablen darzustellen und wie sich eine Änderung einer Variablen auf eine andere auswirken kann.

So erstellen Sie Diagramme in Matplotlib

Matplotlib verwendet verschiedene Funktionen, um verschiedene Diagramme zu erstellen. Es verwendet auch nur sehr wenige Codezeilen, um den Plot zu erstellen.

Unten sehen wir, wie man die verschiedenen Plot-Optionen mit verschiedenen Funktionen in Matplotlib erstellt.

#1. Balkendiagramm in Matplotlib

Balkendiagramme zeigen, wie oben erläutert, Datenkategorien unter Verwendung von Balken und Achsen an, die einen Vergleich von Kategorien auf einer Achse und entsprechenden Werten der Kategorien auf der anderen Achse darstellen.

Die Funktion bar() in Matplotlib verwendet verschiedene Argumentlayouts, um das Layout der Balken zu beschreiben, wie unten gezeigt.

plt.bar(x, y, height, width, bottom, align)

Die x- und y-Parameter repräsentieren die x-Koordinatenwerte und y-Koordinatenwerte des Balkens im Diagramm. Der Breitenparameter stellt die Breite des Balkens dar, während der Höhenparameter die Höhe des Balkens darstellt.

Stellen wir zum Beispiel die Anzahl der Hunde und Katzen in einem Tierheim namens x dar.

import matplotlib.pyplot as plt
import numpy as np

x = ["Cats", "Dogs"]
plt.xlabel("Cats and Dogs in Shelter")
plt.ylabel("No. of animals in Shelter")
plt.title("Number of cats and dogs in shelter x")
y = [300, 350]
plt.bar(x, y, color="black", width = 0.5)

Ausgabe:

Ausgabe des Balkendiagramms in Mathplotlib

Wie in unserem obigen Beispiel können Sie die Farbe der Balken mit dem Attribut color weiter spezifizieren. Darüber hinaus benennen plt.xlabel und p.ylabel die x- bzw. y-Achse, während plt.title den Plot benennt.

#2. So erstellen Sie ein Tortendiagramm

Matplotlib verwendet die pie()-Funktion, die mit dem pyplot-Modul geliefert wird, um ein Tortendiagramm zu zeichnen.
Die Funktion stellt die zu plottenden Daten in Arrayform dar.

Syntax:

matplotlib.pyplot.pie(data, explode=None, labels=None, colors=None, autopct=None, shadow=False)

Der Parameter colors legt die Farbe der Tortenstücke fest. Sie können ein Array von Werten verwenden, um eine Farbe für jedes Segment anzugeben.

Um weitere Details zu jedem Segment des Kuchens einzubeziehen, fügt das Argument autopct die numerischen Prozentsätze hinzu, die jedes Segment darstellt, wobei die String-Formatierungsnotation von Python verwendet wird. Die Explosion als Argument akzeptiert ein Array von Werten, die bei 0,1 beginnen, um den Abstand des Segments von der Mitte des Kuchens zu definieren.

  Was ist Slack und warum lieben die Leute es?

Zeichnen wir ein Tortendiagramm, das Ressourcen in Prozent anzeigt, die einem bestimmten Projekt zugewiesen sind.

import matplotlib.pyplot as plt
import numpy as np

y = np.array([25, 10, 45, 20])
mylabels = ["w", "x", "y", "z"]
explodevalues = [0.1, 0.2, 0, 0]
colors = ['tab:blue', 'tab:green', 'tab:orange', 'tab:red']
plt.title("Resources allocated for a random project")
plt.pie(y, labels = mylabels, colors=colors,explode = explodevalues, autopct="%1.1f%%", shadow = True)
plt.show() 

Ausgabe:

Ausgabe des Kreisdiagramms in Mathplotlib

Das obige Diagramm zeigt ein Tortendiagramm mit vier Abschnitten, die jeweils mit w, x, y und z bezeichnet sind. Die Explosionswerte definieren, wie weiter entfernt von der Mitte des Kuchens die Segmente platziert werden.

Aus dem obigen Diagramm ist x weiter entfernt, da sein Explosionswert größer als der Rest ist. Das Schattenattribut fügt dem Tortendiagramm wie im Bild einen Schatten hinzu, während autopct den relativen Prozentsatz zum gesamten Tortendiagramm festlegt, den jedes Segment darstellt.

#3. Erstellen eines Histogrammdiagramms

Bei einem Histogramm verwenden wir eine Reihe von Intervallen, um den Bereich der gegebenen Werte auf der x-Achse darzustellen.
Die y-Achse hingegen repräsentiert die Frequenzinformationen.

Im Gegensatz zu den anderen Diagrammen erfordert das Zeichnen eines Histogramms in Matplotlib einige vordefinierte Schritte, die Sie befolgen müssen, um das Diagramm zu erstellen.

Diese Schritte umfassen:

  • Erstellen Sie eine Bin mit Bereichen aus dem Satz von Datenwerten, die Sie haben. Sie können die Funktion np.random.normal() verwenden, die Zufallswerte für Sie generieren kann.
  • Verteilen Sie Werte mithilfe einer Reihe von Intervallen in einen Wertebereich.
  • Zählen Sie die Werte, die in jedes bestimmte Intervall fallen.
  • Verwenden Sie nun die Funktion matplotlib.pyplot.hist(), um das Histogramm zu erstellen.
  • Die Funktion hist() übernimmt mehrere Parameter, darunter:

    x – Dies repräsentiert die Array-Sequenz

    bins – Dies ist ein optionaler Parameter, der nicht überlappende Intervalle von Variablen darstellt, die ganze Zahlen oder eine Zeichenfolgenfolge enthalten können.

    range – Definiert den oberen und unteren Bereich der Bins

    align – Dieser Parameter steuert die Ausrichtung des Histogramms. Ob links, rechts oder mittig.

    color – Definiert die Farbe der Balken.

    rwidth – Setzt die relative Breite der Balken im Histogramm auf die des Bins.

    log – Der Log-Parameter definiert eine Log-Skala auf der Achse eines Histogramms.

    Das folgende Beispiel zeichnet ein Histogramm mit den definierten Werten.

    from matplotlib import pyplot as plt
    
    x = [22, 40, 87, 5, 43, 30, 56,73, 55, 54, 11, 20, 51, 5,  50, 60, 70, 80]
    
    plt.hist(x)
    plt.title(Histogram plot example')
    plt.xlabel('x axis')
    plt.ylabel('frequency')
    plt.show()
    

    Ausgabe:

    Ausgabe des Histogrammplots in Mathplotlib

    #4. Liniendiagramm in Matplotlib

    Matplotlib verwendet seine Unterbibliothek namens pyplot , die mit verschiedenen Funktionen ausgestattet ist, die bei der Implementierung helfen.

    Wir verwenden die Funktion plot(), eine generische Funktion, die mit Pyplot geliefert wird, um die Liniendiagramme und verschiedene andere Arten von Liniendiagrammen zu zeichnen, einschließlich gekrümmter Diagramme und Mehrfachliniendiagramme. Das Erstellen dieser verschiedenen Arten von Diagrammen hängt von den Werten ab, die Sie an die Y-Achse übergeben.

    Importieren Sie beim Plotten matplotlib.pyplot und Numpy, die die Diagramme zeichnen. Die plot(x,y)-Methode erstellt das Liniendiagramm, indem sie zufällige Werte an die x- und y-Argumente übergibt.

    Zusätzlich können Sie eine Beschriftungsvariable übergeben, die den Plot beschriftet. Die Titelfunktion benennt außerdem den Titel des Diagramms, während die xlabel- und ylabel-Funktionen die Achsen benennen. Schließlich zeigt die Funktion show() den Plot an.

      So sehen Sie blockierte Nachrichten auf dem iPhone

    Zum Beispiel:

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(0, 5, 10)
    
    y = 3*x + 2
    plt.title('Line plot example')
    plt.xlabel('x axis')
    plt.ylabel('y axis')
    plt.plot(x, y)
    plt.show()

    Ergebnis:

    Ausgabe des Liniendiagramms in Mathplotlib

    Das np.linspace-Attribut gibt auf dem Diagramm einen Satz gleichmäßig verteilter Zahlen über ein bestimmtes Intervall für die x-Werte zurück. Dadurch wird ein Array mit 10 Werten im Bereich von 0 bis 5 erstellt. Die y-Werte werden aus der Gleichung erstellt, die entsprechende x-Werte verwendet.

    Streudiagramme erstellen

    Matplotlib verwendet die Methode scatter(), um dieses Diagramm zu erstellen.
    Diese Methode übernimmt die folgenden Parameter.

    matplotlib.pyplot.scatter(x_axis_data, y_axis_data, s=None, c=None, marker=None, cmap=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None) 

    Die Parameter x_axis_data und y_axis_data können nicht leer gelassen werden, im Gegensatz zu den übrigen Parametern, die optional sein können und None als Wert haben. Während das Argument x_axis_data ein Array von Daten für die x-Achse definiert, legt das Argument y_axis_data ein Array von Daten für die y-Achse fest.

    Ein Beispiel für ein Streudiagramm in Matplotlib

    import matplotlib.pyplot as plt
     
    x =[15, 17, 18, 27, 22, 27, 32, 14, 11, 12, 29, 16]
     
    y =[19, 16, 17, 18, 10, 26, 13, 27, 14, 18, 17, 35]
    plt.title('Scatter plot example')
    plt.xlabel('x variable')
    plt.ylabel('y variable')
    plt.scatter(x, y, c ="green")
     
    # To show the plot
    plt.show()

    Seine Ausgabe wird mögen:

    Ausgabe des Streudiagramms in Mathplotlib

    Was ist subplot() in matplotlib

    Die Funktion subplot() kann verwendet werden, um mehrere Plots auf einer einzigen Matplotlib-Figur zu zeichnen. Dies ermöglicht das Betrachten und Vergleichen der mehreren Plots innerhalb der Figur.

    Diese Funktion gibt ein Tupel mit drei Argumenten zurück; Zeilen und Spalten als erstes bzw. zweites Argument und den Index des aktuellen Diagramms als drittes Argument.

    Die Zeilen und Spalten definieren klar das Layout der Matplotlib.

    Daher zeichnet plt.subplot(2, 1, 1) beispielsweise eine Matplotlib-Figur mit zwei Zeilen und einer Spalte, und dieses Diagramm ist das erste Diagramm.

    Andererseits zeigt plt.subplot(2, 1, 2) einen zweiten Plot mit zwei Zeilen und einer Spalte an.

    Wenn Sie diese beiden Diagramme zeichnen, werden sie wie im folgenden Beispiel übereinander erstellt.

    import matplotlib.pyplot as plt
    import numpy as np
    
    #plot 1:
    x = np.array([2, 4, 6, 8])
    y = np.array([3, 6, 9, 12])
    
    plt.subplot(2, 1, 1)
    plt.plot(x,y)
    
    #plot 2:
    x = np.array([3, 6, 9, 12])
    y = np.array([1, 2, 3, 4])
    
    plt.subplot(2, 1, 2)
    plt.plot(x,y)
    
    plt.show()

    Die Ausgabe des obigen Beispiels sieht wie das Bild unten aus.

    Anhand eines anderen Beispiels verwenden wir die Subplot-Funktion, um zwei Zahlen mit einer Zeile und zwei Spalten zu zeichnen. Dadurch werden die Diagramme nebeneinander angezeigt.

    import matplotlib.pyplot as plt
    import numpy as np
    
    #plot 1:
    x = np.array([2, 4, 6, 8])
    y = np.array([3, 6, 9, 12])
    
    plt.subplot(1, 2, 1)
    plt.plot(x,y)
    
    #plot 2:
    x = np.array([3, 6, 9, 12])
    y = np.array([1, 2, 3, 4])
    
    plt.subplot(1, 2, 2)
    plt.plot(x,y)
    
    plt.show()

    Das obige Beispiel zeigt das folgende Ergebnis.

    Das war interessant interaktiv, findest du nicht?😃

    Letzte Worte

    Matplotlib ist eine bekanntermaßen verwendete Visualisierungsbibliothek in Python. Seine Interaktivität und die Fähigkeit zur einfachen Verwendung selbst für Anfänger machen es zu einem noch besseren Werkzeug zum Zeichnen in Python.

    Dieser Artikel behandelte Beispiele für die verschiedenen Diagramme, die mit Matplotlib gelieferte Funktionen erstellen können, einschließlich Tortendiagramme, Balkendiagramme, Histogramme und Streudiagramme.

    Natürlich verfügt Python über mehrere andere Bibliotheken, die Experten für maschinelles Lernen und Datenwissenschaftler zum Erstellen von Visualisierungen verwenden können.

    Sie können weitere Diagramme erkunden, die Sie mit Matplotlib erstellen können, und welche Funktionen Sie zum Erstellen des Diagramms verwenden werden.

    Viel Spaß beim Plotten!📉📊