Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Python-Bibliotheken zur Datenvisualisierung

452 Aufrufe

Veröffentlicht am

Überblick, Auswahlkriterien und APIs von Python-Datenvisualisierungsbibliotheken

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Python-Bibliotheken zur Datenvisualisierung

  1. 1. Python-Bibliotheken zur Datenvisualisierung Veit Schiele cusy GmbH, Berlin Vortrag | Plonetagung | 10. März 2020
  2. 2. Veit Schiele • Gründer und Geschäftsführer 
 der Cusy GmbH • Aufbau eines Rechenclusters am Fraunhofer ISE • Autor des Jupyter-Tutorial mit dem
 prototypischen Verlauf eines Data- Science-Projekts Python-Datenvisualisierung: Intro
  3. 3. Intro Agenda 1. Überblick a. Technologien 2. Auswahlkriterien b. Diagrammtypen c. Datengröße d. Ausgabeformate 3. APIs a. deklarativ b. objektorientiert c. imperativ 4. Zukunftsvision
  4. 4. Überblick Python-Datenvisualisierung: Überblick OpenGL Vispy Glumpy Matplotlib Pandas seaborn ggpy plotnine Scikit-plot Yellowbrick NetworkX Cartopy mpld3 ipympl Matplotlib Altair GeoPandas Graphviz Bokeh Iris yt Vaex bqplot HoloViews Datashader D3.js d3po plotly Vega Javascript Cufflinks Vincent Vega-Lite pythreejs IPyvolume Toyplot ipyleaflet Altair
  5. 5. Überblick Python-Datenvisualisierung: Überblick OpenGL OpenGL Vispy Glumpy
  6. 6. Überblick Python-Datenvisualisierung: Überblick OpenGL • OpenGL-Spezifikation zur 3D-Darstellung (1992) • Visualisierung lokaler Dateien
 → Desktop-Anwendungen
  7. 7. Überblick Python-Datenvisualisierung: Überblick Matplotlib Matplotlib
  8. 8. Überblick Python-Datenvisualisierung: Überblick Matplotlib Matplotlib ist eine der ältesten (2003) und meist genutzten Python-Bibliotheken zur Datenvisualisierung • Pros
 → Ähnliches Design wie Matlab
 →Viele verschiedene Rendering-Backends • Cons
 → iterative API
 → ungenügende Standardeinstellungen
  9. 9. Überblick Python-Datenvisualisierung: Überblick Matplotlib-basiert Matplotlib Pandas seaborn ggpy plotnine Scikit-plot Yellowbrick NetworkX Cartopy GeoPandas Iris yt
  10. 10. Überblick Python-Datenvisualisierung: Überblick Matplotlib-baisert Bibliotheken entstanden im Wesentlichen aus zwei unterschiedlichen Gründen: • zur Nutzung als Backend für spezifische Anwendungen z.B. für pandas, NetworkX, Cartopy oder yt • als Backend für High-Leel-APIs, wie z.B. für ggplot2, plotnine, HoloViews, GeoViews und seaborn
  11. 11. Überblick Python-Datenvisualisierung: Überblick D3 mpld3 bqplot D3.js d3po plotly Cufflinks
  12. 12. Überblick Python-Datenvisualisierung: Überblick D3.js D3.js-baiserte Visualisierungsbibliotheken wie plotly oder bqplot nutzen die umfangreiche und ausgereifte Javascript-Bibliothek zum Erstellen von interaktiven Plots im Web-Browser.
  13. 13. Überblick Python-Datenvisualisierung: Überblick Javascript ipympl Bokeh Javascript pythreejs IPyvolume Toyplot ipyleaflet
  14. 14. Überblick Python-Datenvisualisierung: Überblick Javascript Javascript-baiserte Visualisierungsbibliotheken wie Bokeh oder Toyplot nutzen v.a. HTML5 für ihre 2D- Diagramme. Dies erlaubt auch das Entwickeln neuer Plottypen, die nur Grundelemente verwenden. pythreejs, ipyvolume und itk-jupyter-Widgets nutzen hingegen WebGL für Ihre 3D-Diagramme.
  15. 15. Überblick Python-Datenvisualisierung: Überblick Bokeh Bokeh Vaex HoloViews Datashader Javascript
  16. 16. Überblick Python-Datenvisualisierung: Überblick Bokeh Bokeh nutzt für 2D-Diagramme HTML5, kann aber auch unregelmäßige 2D-Netze (dreieckige Gitter) und Graphen. Dies erlaubt das Entwickeln neuer Plottypen, die nur Grundelemente von Bokeh verwenden.
  17. 17. Python-Datenvisualisierung: Diagrammtypen Diagrammtypen Regelmäßige Gitter/rechteckige Netze • Bokeh • Datashader • HoloViews • Matplotlib • Plotly
  18. 18. Python-Datenvisualisierung: Diagrammtypen Diagrammtypen Statistische Diagramme • Seaborn • bqplotAltair • ggplot2 • plotnine
  19. 19. Python-Datenvisualisierung: Diagrammtypen Diagrammtypen Unregelmäßige 2D-Netze/dreieckige Gitter
 • Matplotlib • Bokeh • Datashader • HoloViews
  20. 20. Python-Datenvisualisierung: Diagrammtypen Diagrammtypen Geografische Daten • Cartopy • GeoViews • ipyleaflet • Plotly
  21. 21. Python-Datenvisualisierung: Diagrammtypen Diagrammtypen Netzwerke/Graphen • NetworkX • Plotly • Bokeh • HoloViews • Datashader • Graphviz
  22. 22. Python-Datenvisualisierung: Diagrammtypen Diagrammtypen 3D-Visualisierungen • Plotly • Matplotlib • HoloViews • ipyvolume • pythreejs
  23. 23. Datengröße Python-Datenvisualisierung: Datengröße Die Architektur und die zugrunde liegende Technologie für jede Bibliothek bestimmen die unterstützten Datenmengen.
  24. 24. Datengröße Python-Datenvisualisierung: Datengröße OpenGL-Bibliotheken können im Allgemeinen sehr große Raster-Datasets (Gigabyte oder mehr) verarbeiten.
  25. 25. Datengröße Python-Datenvisualisierung: Datengröße Matplotlib-basierte Bibliotheken können in der Regel Hunderttausende von Punkten verarbeiten.
  26. 26. Datengröße Python-Datenvisualisierung: Datengröße Javascript-basierte Bibliotheken wie ipywidgets, Bokeh und Plotly verwenden zwar JSON, erweitern sie jedoch um zusätzliche binäre Datentransport-
 mechanismen, sodass sie nicht nur einige tausend sondern hunderttausende bis Millionen von Datenpunkten verarbeiten können.
  27. 27. Datengröße Python-Datenvisualisierung: Datengröße WebGL-Bibliotheken, die HTML-Canvas-Elemente verwenden, sind auf höchstens Hunderttausende von Punkten beschränkt.
  28. 28. Datengröße Python-Datenvisualisierung: Datengröße Serverseitiges Rendern von Datashader oder Vaex ermöglicht Milliarden, Billionen oder mehr Datenpunkte in Webbrowsern. Dazu werden beliebig große verteilte oder nicht zum Kern gehörende Datasets in Bilder fester Größe konvertiert, um sie an den Browser auszuliefern.
  29. 29. Benutzeroberflächen und
 Dateiformate Die meisten Bibliotheken können statische Bilder erstellen und zumindest in PNG, SVG oder PDF-Dateien erstellen. Python-Datenvisualisierung: Benutzeroberflächen und Dateiformate
  30. 30. Benutzeroberflächen und
 Dateiformate Die meisten Javascript-Bibliotheken können in einem serverlosen Modus betrieben werden. Diagramme können dann interaktiv erschlossen werden, z.B. mit Zoomen, Verschieben etc. ohne dass hierbei Python involviert ist. Python-Datenvisualisierung: Benutzeroberflächen und Dateiformate
  31. 31. Benutzeroberflächen und
 Dateiformate Die meisten Javascript-Bibliotheken unterstützen die interaktive Verwendung in Jupyter-Notebooks. ipywidgets unterstützt die Interaktion in Integration mit Jupyter. Python-Datenvisualisierung: Benutzeroberflächen und Dateiformate
  32. 32. Benutzeroberflächen und
 Dateiformate Eigenständige webbasierte Dashboards • Plotly-Diagramme können in separaten Apps mit Dash verwendet werden • Der Bokeh-Server stellt Diagramme von Bokeh, HoloViews und GeoViews bereit Python-Datenvisualisierung: Benutzeroberflächen und Dateiformate
  33. 33. Benutzeroberflächen und
 Dateiformate Eigenständige webbasierte Dashboards • Die meisten anderen Bibliotheken können mithilfe von Panel bereitgestellt werden (ausgenommen die OpenGL-Bibliotheken). Python-Datenvisualisierung: Benutzeroberflächen und Dateiformate
  34. 34. Python-Datenvisualisierung: APIs Objektorientierte Matplotlib-Basis-API: • Die API von Matplotlib ermöglicht vollständige Kontrolle der Komposition, ist jedoch komplex APIs
  35. 35. Python-Datenvisualisierung: APIs Imperative Matplotlib-Pyplot-API: • Die imperativen Befehle im Matlab-Stil sind für einfache Fälle präzise • kompositorisch sind sie jedoch sehr beschränkt APIs
  36. 36. Python-Datenvisualisierung: APIs Imperative pandas.plot() -API: • Spezialisiert auf Teilmengen von Pandas-Dataframes • nicht direkt kompositorisch, kann aber mehrerePlot- Objekte zurückgeben APIs
  37. 37. Python-Datenvisualisierung: APIs Deklarative Grafik-APIs: Von «The Grammar of Graphics» inspirierte Bibliotheken wie ggplot, plotnine, Altair erlauben einfach, grafische Grundelemente wie Achsen und Glyphen eines Diagramms zu gestalten APIs
  38. 38. Python-Datenvisualisierung: APIs Deklarative Grafik-APIs: Von The Grammar of Graphics inspirierte Bibliotheken wie ggplot2, plotnine, Altair erlauben einfach, grafische Grundelemente wie Achsen und Glyphen eines Diagramms zu gestalten APIs
  39. 39. Python-Datenvisualisierung: APIs Deklarative Daten-APIs: HoloViews und GeoViews bieten eine deklarative und kompositorische High-Level-APIs, die sich auf das Kommentieren, Beschreiben und Arbeiten mit visualisierbaren Daten konzentrieren. APIs
  40. 40. Python-Datenvisualisierung: APIs Deklarative Daten-APIs: HoloViews und GeoViews bieten eine deklarative und kompositorische High-Level-APIs, die sich auf das Kommentieren, Beschreiben und Arbeiten mit visualisierbaren Daten konzentrieren. APIs
  41. 41. Zukunftsvision Python-Datenvisualisierung: Zukunftsvision • OpenGL wird durch WebGL abgelöst • Große Daten → Vaex, Datashader • Widget- und App-Unterstützung • pandas.plot()-API ist De-facto-Standard für 
 2D-Diagramme
  42. 42. Kontakt www.cusy.io/veit info@cusy.io @cusyio +CusyIo

×