Heim  >  Artikel  >  Backend-Entwicklung  >  Leistungsstarke Open-Source-Python-Zeichenbibliothek

Leistungsstarke Open-Source-Python-Zeichenbibliothek

王林
王林nach vorne
2023-05-11 12:07:051373Durchsuche

功能强大的开源 Python 绘图库

Der Grund, warum ich Matplotlib schon früher verwendet habe, ist, dass ich Hunderte von Stunden Zeit damit verbracht habe, die komplexe Syntax zu lernen. Dies führte auch dazu, dass ich unzählige Nächte damit verbrachte, auf StackOverflow nach Möglichkeiten zu suchen, „Datumsangaben zu formatieren“ oder „eine zweite Y-Achse hinzuzufügen“.

Aber wir haben jetzt eine bessere Wahl – etwa die benutzerfreundliche, gut dokumentierte und leistungsstarke Open-Source-Python-Plotbibliothek Plotly. Heute werde ich Ihnen einen ausführlichen Einblick geben und erfahren, wie Sie mit supereinfachem Code (sogar nur einer Zeile!) bessere Diagramme zeichnen können.

Der gesamte Code in diesem Artikel ist Open Source auf Github und alle Diagramme sind interaktiv. Bitte verwenden Sie Jupyter Notebook, um ihn anzuzeigen.

(Github-Quellcode-Adresse: https://github.com/WillKoehrsen/Data-Analysis/blob/master/plotly/Plotly%20Whirlwind%20Introduction.ipynb)

功能强大的开源 Python 绘图库

(Beispieldiagramm gezeichnet von plotly. Bildquelle :plot.ly)

Plotly-Übersicht

Plotlys Python-Paket ist eine Open-Source-Codebibliothek basierend auf plot.js, die auf d3.js basiert. Was wir tatsächlich verwenden, ist eine Bibliothek, die Plotly kapselt, sogenannte Manschettenknöpfe, die es Ihnen erleichtert, Plotly- und Pandas-Datentabellen für die Zusammenarbeit zu verwenden.

*Hinweis: Plotly selbst ist ein Unternehmen für Visualisierungstechnologie mit mehreren verschiedenen Produkten und Open-Source-Toolsets. Die Nutzung der Python-Bibliothek von Plotly ist kostenlos. Im Offline-Modus können Sie eine unbegrenzte Anzahl von Diagrammen erstellen. Da der Freigabedienst von Plotly verwendet wird, können Sie nur 25 Diagramme erstellen und freigeben.

Alle Visualisierungen in diesem Artikel wurden in Jupyter Notebook unter Verwendung der Plotly + Manschettenknöpfe-Bibliothek im Offline-Modus erstellt. Nachdem Sie die Installation mit pip install cufflinks plotly abgeschlossen haben, können Sie den folgenden Code verwenden, um den Import in Jupyter abzuschließen:

功能强大的开源 Python 绘图库

Univariate Verteilung: Histogramm und Boxplot

Univariate Analysediagramm ist oft die Startdaten. Es ist ein Standard Praxis in der Analyse, und das Histogramm ist grundsätzlich eines der notwendigen Diagramme in der univariaten Verteilungsanalyse (obwohl es immer noch einige Mängel aufweist).

Nehmen Sie als Beispiel die Gesamtzahl der Likes auf Blogbeiträgen (siehe Github für die Originaldaten: https://github.com/WillKoehrsen/Data-Analysis/tree/master/medium) und erstellen Sie ein einfaches interaktives Histogramm:

功能强大的开源 Python 绘图库

(df im Code ist ein Standard-Pandas-Datenrahmenobjekt)

功能强大的开源 Python 绘图库

(Interaktives Histogramm erstellt mit plotly+Manschettenknöpfen)

Für Schüler, die bereits mit Matplotlib vertraut sind, müssen Sie nur einen weiteren Buchstaben eingeben ( Wenn Sie die .plot-Datei in die .iplot-Datei konvertieren, erhalten Sie ein interaktives Diagramm, das noch schöner aussieht! Wenn Sie auf Elemente im Bild klicken, werden detaillierte Informationen angezeigt, vergrößert und verkleinert und (dazu kommen wir als Nächstes) werden Funktionen wie das Filtern bestimmter Bildteile hervorgehoben.

Wenn Sie ein gestapeltes Säulendiagramm zeichnen möchten, benötigen Sie nur Folgendes:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Führen Sie eine einfache Verarbeitung der Pandas-Datentabelle durch und generieren Sie ein Balkendiagramm:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

wie oben gezeigt Auf diese Weise können wir die Funktionen von plotly + cufflinks und pandas integrieren. Beispielsweise können wir zunächst .pivot() verwenden, um eine Pivot-Tabellenanalyse durchzuführen und dann ein Balkendiagramm zu erstellen.

Zählen Sie zum Beispiel die Anzahl neuer Fans, die jeder Artikel in verschiedenen Veröffentlichungskanälen bringt:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Der Vorteil interaktiver Diagramme besteht darin, dass wir die Daten erkunden und Unterelemente zur Analyse nach Belieben aufteilen können. Boxplots können viele Informationen liefern, aber wenn Sie die spezifischen Werte nicht sehen können, werden Sie wahrscheinlich viele davon übersehen!

Streudiagramm

Das Streudiagramm ist der Kerninhalt der meisten Analysen. Es ermöglicht uns, die Änderung einer Variablen im Laufe der Zeit oder die Änderung der Beziehung zwischen zwei (oder mehr) Variablen zu sehen.

Zeitreihenanalyse

In der realen Welt enthält ein erheblicher Teil der Daten Zeitelemente. Glücklicherweise verfügen plotly + cufflinks über integrierte Funktionen zur Unterstützung der visuellen Analyse von Zeitreihen.

Nehmen wir als Beispiel die Artikeldaten, die ich auf der Website „Towards Data Science“ veröffentlicht habe, indem wir den Veröffentlichungszeitpunkt als Index verwenden, um zu sehen, wie sich die Beliebtheit des Artikels ändert:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Im Bild oben haben wir mehrere Dinge mit einer Codezeile erreicht:

  • Automatisch eine schöne Zeitreihe generieren In den angezeigten Beschriftungen, wenn
  • Um mehr Daten anzuzeigen, können wir ganz einfach Textanmerkungen hinzufügen:

功能强大的开源 Python 绘图库

(Streudiagramm mit Textanmerkungen)

功能强大的开源 Python 绘图库Im folgenden Code fügen wir ein bivariates Streudiagramm hinzu, das durch die dritte kategoriale Variable gefärbt wird:

功能强大的开源 Python 绘图库

Als nächstes erhalten wir ein etwas komplizierter: die logarithmische Achse. Dies erreichen wir, indem wir den Layout-Parameter von plotly angeben (Informationen zu verschiedenen Layouts finden Sie im offiziellen Dokument https://plot.ly/python/reference/) und die Punktgröße (Größenparameter) mit einem The kombinieren Die numerische Variable read_ratio (Leseverhältnis) ist gebunden. Je größer die Zahl, desto größer die Größe der Blase.

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Wenn wir komplexer sein wollen (Einzelheiten finden Sie im Quellcode auf Github), können wir sogar 4 Variablen in ein Bild stopfen! (Es wird jedoch nicht empfohlen, dies tatsächlich zu tun.)

功能强大的开源 Python 绘图库

Wie zuvor können wir Pandas mit Plotly+Manschettenknöpfen kombinieren, um viele nützliche Diagramme zu erhalten:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Es wird empfohlen, dass Sie das überprüfen offizielle Dokumentation oder der Quellcode, der weitere Beispiele und Funktionsbeispiele enthält. Mit nur einer oder zwei Codezeilen können Sie Ihrem Diagramm nützliche Elemente wie Textanmerkungen, Hilfslinien und Passlinien hinzufügen und dabei die ursprünglichen interaktiven Funktionen beibehalten.

功能强大的开源 Python 绘图库Erweiterte Zeichenfunktionen

Als nächstes stellen wir einige spezielle Diagramme im Detail vor. Sie werden sie vielleicht nicht sehr oft verwenden, aber ich garantiere Ihnen, dass sie die Leute auf jeden Fall beeindrucken werden, wenn Sie sie gut verwenden. Wir werden das Modul „figure_factory“ von plotly verwenden, das mit nur einer Codezeile fantastische Diagramme erstellen kann!

Scatter-Plot-Matrix

Wenn wir die Beziehung zwischen vielen verschiedenen Variablen untersuchen möchten, ist die Scatter-Plot-Matrix (auch bekannt als SPLOM) eine gute Wahl:

功能强大的开源 Python 绘图库

Auch wenn die Grafik so komplex ist sind außerdem vollständig interaktiv, sodass wir die Daten detaillierter untersuchen können.

Beziehungs-Heatmap

Um die Beziehung zwischen mehreren numerischen Variablen abzubilden, können wir ihre Korrelation berechnen und sie dann in Form einer annotierten Heatmap visualisieren:

#🎜 🎜 #

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Benutzerdefiniertes Design

Zusätzlich zu einer endlosen Vielfalt an Diagrammen bieten Manschettenknöpfe auch viele verschiedene Farben Mit den Themen können Sie problemlos zwischen verschiedenen Diagrammstilen wechseln. Die folgenden beiden Bilder sind das „Weltraum“-Thema bzw. das „ggplot“-Thema: Darüber hinaus gibt es auch 3D-Diagramme (Oberflächen und Blasen):

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

Für Benutzer, die es sind Interesse am Lernen Es ist nicht schwer, ein Kreisdiagramm zu erstellen:

功能强大的开源 Python 绘图库

In Plotly Chart Studio bearbeiten

#🎜🎜 #Nachdem Sie diese erstellt haben Diagramme in Jupyter Notebook erstellen, finden Sie in der unteren rechten Ecke des Diagramms einen kleinen Link mit der Aufschrift „Nach plot.ly exportieren (auf plot.ly veröffentlichen)“. Wenn Sie auf diesen Link klicken, gelangen Sie zu einem „Chart Workshop“ (https://plot.ly/create/). 功能强大的开源 Python 绘图库

Hier können Sie Ihr Diagramm vor der endgültigen Präsentation noch einmal überarbeiten und verfeinern. Sie können Anmerkungen hinzufügen, die Farben bestimmter Elemente auswählen, alles organisieren und ein beeindruckendes Diagramm erstellen. Später können Sie es auch im Internet veröffentlichen und so einen Link für andere zur Überprüfung erstellen.

Die folgenden zwei Bilder sind in der Chart-Werkstatt entstanden:

功能强大的开源 Python 绘图库

# 🎜🎜 # Sind Sie es leid, es zu lesen, nachdem Sie so viel geredet haben? Wir haben jedoch nicht alle Möglichkeiten dieser Bibliothek ausgeschöpft. Aus Platzgründen gibt es einige bessere Diagramme und Beispiele. Besuchen Sie daher bitte die offiziellen Dokumente von Plotly und Manschettenknöpfen, um sie einzeln anzusehen.

(Plotly interaktive Karte mit Windparkdaten in den Vereinigten Staaten. Quelle: plot.ly) 功能强大的开源 Python 绘图库

Endlich.. .

功能强大的开源 Python 绘图库Das Schlimmste am Irrtum der versunkenen Kosten ist, dass Menschen oft erst dann merken, wie viel Zeit sie verschwendet haben, wenn sie ihre bisherigen Bemühungen aufgeben.

Bei der Auswahl einer Zeichnungsbibliothek benötigen Sie folgende Funktionen am meisten:

Eine Zeile Codediagramme erforderlich, um Daten schnell zu erkunden功能强大的开源 Python 绘图库#🎜🎜 ##🎜🎜 # Interaktive Elemente zum Aufteilen/Erkunden von Daten erforderlich

Optionen zum Drilldown in Details bei Bedarf

Einfache Anpassung vor der endgültigen Präsentation #🎜 🎜#

Von nun an ist die beste Wahl, die Python-Sprache zu verwenden, um die oben genannten Funktionen zu erreichen, die Handlung. Es ermöglicht uns, schnell visuelle Diagramme zu erstellen, und interaktive Funktionen ermöglichen es uns, die Informationen besser zu verstehen.

Ich gebe zu, das Plotten ist definitiv der unterhaltsamste Teil der datenwissenschaftlichen Arbeit, und Plotly macht das Erledigen dieser Aufgaben noch angenehmer.

  • (Verwenden Sie ein Diagramm, um die Veränderung der Freude am Zeichnen mit Python im Laufe der Zeit zu zeigen. Quelle: intodatascience.com)
  • #🎜🎜 # 2022 Es ist Zeit, Ihre Python-Zeichnungsbibliothek zu aktualisieren und sich in Datenwissenschaft und Visualisierung schneller, stärker und schöner zu machen!

Das obige ist der detaillierte Inhalt vonLeistungsstarke Open-Source-Python-Zeichenbibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen