Überblick über die Bibliotheken zur Datenvisualisierung

Technologien

graph python_visualisation_landscape { graph [fontname = "Calibri", fontsize="16", overlap=false]; node [fontname = "Calibri", fontsize="16", style="bold", penwidth="5px"]; edge [fontname = "Calibri", fontsize="16", style="bold", penwidth="5px"]; tooltip="Python Visualisation Landscape"; // OpenGL opengl [ label="OpenGL", tooltip="Open Graphics Library", color="#FF66B3", target="_top", href="../opengl/index.html"] vispy [ label="Vispy", tooltip="Python-Bibliothek für\ninteraktive wissenschaftliche\nVisualisierungen", color="#FF66B3", target="_top", href="http://vispy.org/"] glumpy [ label="Glumpy", tooltip="Schnittstelle zwischen\nnumpy und OpenGL", color="#FF66B3", target="_top", href="https://glumpy.github.io/"] opengl -- vispy [color="#FF66B3"] opengl -- glumpy [color="#FF66B3"] // Matplotlib mpl [ label="Matplotlib", tooltip="Python-Bibliothek\nfür 2D-Plots", color="#BF80FF" target="_top", href="../matplotlib/index.html"] pandas [ label="Pandas", tooltip="Pandas Datenstrukturen mit\nMatplotlib visualisieren", color="#BF80FF", target="_top", href="../matplotlib/pandas/index.html"] geopandas [ label="GeoPandas", tooltip="geopandas erweitert Pandas um geometrische Datentypen", color="#BF80FF", target="_top", href="../matplotlib/geopandas/index.html"] geoplot [ label="Geoplot", tooltip="High-level-Bibliothek zum Plotten von Geodaten", color="#BF80FF", target="_top", href="https://residentmario.github.io/geoplot/index.html"] descartes [ label="descartes", tooltip="Shapely- und GeoJSON-ähnliche Objekte als Matplotlib-Pfade", color="#BF80FF", target="_top", href="https://pypi.org/project/descartes"] seaborn [ label="seaborn", tooltip="High-level-Datenvisualisierung\nbasierend auf Matplotlib", color="#BF80FF", target="_top", href="../matplotlib/seaborn/index.html"] ggpy [ label="ggpy", tooltip="ggplot-Port für Python", color="#BF80FF", target="_top", href="https://github.com/yhat/ggpy"] plotnine [ label="plotnine", tooltip="Python-Implementierung von ggplot2", color="#BF80FF", target="_top", href="../matplotlib/plotnine/index.html"] scikit_plot [ label="Scikit-plot", tooltip="Plotting-Bibliothek für\nScikit-learn-Objekte", color="#BF80FF", target="_top", href="https://scikit-plot.readthedocs.io/"] yellowbrick [ label="Yellowbrick", tooltip="Tools für die visuelle Analyse und Diagnose\nvon Scikit-learn-Projekten", color="#BF80FF", target="_top", href="https://www.scikit-yb.org/"] networkx [ label="NetworkX", tooltip="Erstellen, Ändern und Analysieren\nkomplexer Netzwerke", color="#BF80FF", target="_top", href="../matplotlib/networkx.html"] graphviz [ label="Graphviz", tooltip="Mächtige Visualisierungssoftware\nfür Graphen", color="#cccccc", target="_top", href="../matplotlib/graphviz.html"] cartopy [ label="Cartopy", tooltip="Erstellen von Karten und\nAnalyse von Geodaten", color="#BF80FF", target="_top", href="../matplotlib/cartopy/index.html"] iris [ label="Iris", tooltip="Visualisierung auf Basis der Climate\nand Forecast (CF) Conventions", color="#BF80FF", target="_top", href="../matplotlib/iris.html"] yt [ label="yt", tooltip="Python-Bibliothek zur Analyse\nund Visualisierung von Volumendaten", color="#BF80FF", target="_top", href="../matplotlib/yt.html"] mpl -- pandas [color="#BF80FF"] pandas -- geopandas [color="#BF80FF"] mpl -- geoplot [color="#BF80FF"] mpl -- descartes [color="#BF80FF"] mpl -- seaborn [color="#BF80FF"] mpl -- ggpy [color="#BF80FF"] mpl -- plotnine [color="#BF80FF"] mpl -- scikit_plot [color="#BF80FF"] mpl -- yellowbrick [color="#BF80FF"] networkx -- graphviz [color="#BF80FF;0.5:#cccccc"] mpl -- networkx [color="#BF80FF"] mpl -- cartopy [color="#BF80FF"] iris -- mpl [color="#BF80FF"] iris -- cartopy [color="#BF80FF"] yt -- mpl [color="#BF80FF"] yt -- opengl [color="#BF80FF;0.5:#FF66B3", style="dashed"] mpl -- mpld3 [color="#BF80FF;0.5:#4da6ff"] mpl -- ipympl [color="#BF80FF;0.5:#00FFFF"] mpl -- mpl_altair [color="#BF80FF;0.5:#00FF80"] // Bokeh bokeh [ label="Bokeh", tooltip="Interaktive Python-Bibliothek\nzur Datenvisualisierung\nin modernen Webbrowsern", color="#9999FF", target="_top", href="../bokeh/index.html"] vaex [ label="Vaex", tooltip="Python-Bibliothek zur Datenanalyse\nund -visualisierung", color="#9999FF", target="_top", href="https://github.com/vaexio/vaex"] holoviews [ label="HoloViews", tooltip="Python-Bibliothek zur Datenanalyse\nund -visualisierung", color="#9999FF", target="_top", href="http://holoviews.org/"] hvplot [ label="hvPlot", tooltip="High-level-Plot-API\nauf Basis von HoloViews", color="#9999FF", target="_top", href="../bokeh/integration/holoviews/hvplot/index.html"] datashader [ label="Datashader", tooltip="Grafik-Pipeline-System für\naussagekräftige Darstellungen\ngroßer Datensätze", color="#9999FF", target="_top", href="../bokeh/integration/datashader.html"] vaex -- bokeh [color="#9999FF"] holoviews -- bokeh [color="#9999FF"] holoviews -- hvplot [color="#9999FF"] hvplot -- pandas [color="#9999FF;0.5:#BF80FF"] hvplot -- geopandas [color="#9999FF;0.5:#BF80FF"] hvplot -- networkx [color="#9999FF;0.5:#BF80FF"] datashader -- bokeh [color="#9999FF"] networkx -- bokeh [color="#BF80FF;0.5:#9999FF"] datashader -- holoviews [color="#9999FF"] vaex -- mpl [color="#9999FF;0.5:#BF80FF"] vaex -- bqplot [color="#9999FF;0.5:#4da6ff"] vaex -- opengl [color="#9999FF;0.5:#FF66B3"] holoviews -- mpl [color="#9999FF;0.5:#BF80FF"] datashader -- mpl [color="#9999FF;0.5:#BF80FF"] // Vega vega [ label="Vega", tooltip="Deklarative Sprache für\ninteraktive Visualisierungen", color="#00FF80", target="_top", href="../vega/index.html"] vincent [ label="Vincent", tooltip="Python-Bibliothek für\nVega-Anwendungen", color="#00FF80", target="_top", href="https://vincent.readthedocs.io/"] vega_light [ label="Vega-Lite", tooltip="High-level-Grammatik für\nkomplexe Vega-Anwendungen", color="#00FF80", target="_top", href="https://github.com/vega/vega-lite"] pdvega [ label="PdVega", tooltip="Interaktive Vega-Light-Plots\naus Pandas Dataframes", color="#00FF80", target="_top", href="../vega/pdvega/index.html"] altair [ label="Altair", tooltip="Deklarative Visualisierung\nin Python", color="#00FF80", target="_top", href="https://altair-viz.github.io/"] mpl_altair [ label="Matplotlib Altair", tooltip="Matplotlib-Renderer\nfür Altair", color="#00FF80", target="_top", href="https://matplotlib.org/mpl-altair/"] vega -- vincent [color="#00FF80"] vega -- vega_light [color="#00FF80"] vega_light -- altair [color="#00FF80"] vega_light -- pdvega [color="#00FF80"] pdvega -- pandas [color="#00FF80;0.5:#BF80FF"] altair -- mpl_altair [color="#00FF80"] // D3.js d3js [ label="D3.js", tooltip="Javascript-Bibliothek mit mächtigen\nVisualisierungskomponenten", color="#4da6ff", target="_top", href="../d3js/index.html"] bqplot [ label="bqplot", tooltip="Interaktive Plots\nmit D3.js und ipywidgets", color="#4da6ff", target="_top", href="../d3js/bqplot/index.html"] d3po [ label="d3po", tooltip="Javascript-Bibliothekt zum\nErstellen von D3.js-Charts", color="#4da6ff", target="_top", href="https://github.com/adamlabadorf/d3po"] plotly [ label="plotly", tooltip="Interaktive Graphikbibliothek\nfür Python", color="#4da6ff", target="_top", href="https://github.com/plotly/plotly.py"] cufflinks [ label="Cufflinks", tooltip="Interaktive Plotly-Plots\nfür Pandas", color="#4da6ff", target="_top", href="https://plot.ly/python/v3/ipython-notebooks/cufflinks/"] mpld3 [ label="mpld3", tooltip="Matplotlib für\nden Webbrowser", color="#4da6ff", target="_top", href="https://mpld3.github.io/"] d3js -- bqplot [color="#4da6ff"] d3js -- mpld3 [color="#4da6ff"] d3js -- plotly [color="#4da6ff"] plotly -- cufflinks [color="#4da6ff"] cufflinks -- pandas [color="#4da6ff;0.5:#BF80FF"] d3js -- d3po [color="#4da6ff"] d3js -- vega [color="#4da6ff;0.5:#00FF80"] d3js -- javascript [color="#4da6ff;0.5:#00FFFF"] // Javascript javascript [ label="Javascript", tooltip="Skriptsprache, die ursprünglich für\ndynamisches HTML in Webbrowsern\nentwickelt wurde", color="#00FFFF", target="_top", href="../js/index.html"] pythreejs [ label="pythreejs", tooltip="Notebook-Extension\nfür WebGL-fähige Webbrowser", color="#00FFFF", target="_top", href="../js/pythreejs.html"] ipyvolume [ label="IPyvolume", tooltip="Python-Bibliothek zur\nVisualisierung von\nVolumen und -Glyphen", color="#00FFFF", target="_top", href="../js/ipyvolume.html"] toyplot [ label="Toyplot", tooltip="Leichtgewichtige Bibliothek\nfür ästhetische Plots", color="#00FFFF", target="_top", href="https://toyplot.readthedocs.io/"] ipyleaflet [ label="ipyleaflet", tooltip="Interaktive Karten für\nJupyter Notebooks", color="#00FFFF", target="_top", href="../js/ipyleaflet.html"] xarray_leaflet [ label="xarray-leaflet", tooltip="xarray extension für Kartendarstellungen", color="#00FFFF", target="_top", href="../js/xarray-leaflet.html"] ipympl [ label="ipympl", tooltip="Matplotlib\nJupyter Extension", color="#00FFFF", target="_top", href="https://jupyter-tutorial.readthedocs.io/de/latest/workspace/jupyter/ipywidgets/libs/ipympl.html"] javascript -- ipyvolume [color="#00FFFF"] javascript -- ipyleaflet [color="#00FFFF"] ipyleaflet -- xarray_leaflet [color="#00FFFF"] javascript -- ipympl [color="#00FFFF"] javascript -- toyplot [color="#00FFFF"] javascript -- bokeh [color="#00FFFF;0.5:#9999FF"] javascript -- pythreejs [color="#00FFFF"] }

Aktivitäten und Lizenzen

Mit diesem tabellarischen Überblick könnt ihr schnell die Aktivitäten und Lizenzen der verschiedenen Bibliotheken vergleichen.

GitHub-Insights: Core-Libs

Name

Stars

Mitwirkende

Commit-Aktivität

Lizenz

Matplotlib

https://raster.shields.io/github/stars/matplotlib/matplotlib https://raster.shields.io/github/contributors/matplotlib/matplotlib https://raster.shields.io/github/commit-activity/y/matplotlib/matplotlib https://raster.shields.io/github/license/matplotlib/matplotlib

bokeh

https://raster.shields.io/github/stars/bokeh/bokeh https://raster.shields.io/github/contributors/bokeh/bokeh https://raster.shields.io/github/commit-activity/y/bokeh/bokeh https://raster.shields.io/github/license/bokeh/bokeh

plotly

https://raster.shields.io/github/stars/plotly/plotly.py https://raster.shields.io/github/contributors/plotly/plotly.py https://raster.shields.io/github/commit-activity/y/plotly/plotly.py https://raster.shields.io/github/license/plotly/plotly.py
GitHub-Insights: Pandas .plot()-API

Name

Stars

Mitwirkende

Commit-Aktivität

Lizenz

pandas

https://raster.shields.io/github/stars/pandas-dev/pandas https://raster.shields.io/github/contributors/pandas-dev/pandas https://raster.shields.io/github/commit-activity/y/pandas-dev/pandas https://raster.shields.io/github/license/pandas-dev/pandas

cufflinks

https://raster.shields.io/github/stars/santosjorge/cufflinks https://raster.shields.io/github/contributors/santosjorge/cufflinks https://raster.shields.io/github/commit-activity/y/santosjorge/cufflinks https://raster.shields.io/github/license/santosjorge/cufflinks

hvplot

https://raster.shields.io/github/stars/holoviz/hvplot https://raster.shields.io/github/contributors/holoviz/hvplot https://raster.shields.io/github/commit-activity/y/holoviz/hvplot https://raster.shields.io/github/license/holoviz/hvplot

PdVega

https://raster.shields.io/github/stars/altair-viz/pdvega https://raster.shields.io/github/contributors/altair-viz/pdvega https://raster.shields.io/github/commit-activity/y/altair-viz/pdvega https://raster.shields.io/github/license/altair-viz/pdvega
GitHub-Insights: Weitere High-Level-APIs

Name

Stars

Mitwirkende

Commit-Aktivität

Lizenz

seaborn

https://raster.shields.io/github/stars/mwaskom/seaborn https://raster.shields.io/github/contributors/mwaskom/seaborn https://raster.shields.io/github/commit-activity/y/mwaskom/seaborn https://raster.shields.io/github/license/mwaskom/seaborn

altair

https://raster.shields.io/github/stars/altair-viz/altair https://raster.shields.io/github/contributors/altair-viz/altair https://raster.shields.io/github/commit-activity/y/altair-viz/altair https://raster.shields.io/github/license/altair-viz/altair

holoviews

https://raster.shields.io/github/stars/holoviz/holoviews https://raster.shields.io/github/contributors/holoviz/holoviews https://raster.shields.io/github/commit-activity/y/holoviz/holoviews https://raster.shields.io/github/license/holoviz/holoviews

bqplot

https://raster.shields.io/github/stars/bloomberg/bqplot https://raster.shields.io/github/contributors/bloomberg/bqplot https://raster.shields.io/github/commit-activity/y/bloomberg/bqplot https://raster.shields.io/github/license/bloomberg/bqplot

vega

https://raster.shields.io/github/stars/vega/vega https://raster.shields.io/github/contributors/vega/vega https://raster.shields.io/github/commit-activity/y/vega/vega https://raster.shields.io/github/license/vega/vega

Vega-Lite

https://raster.shields.io/github/stars/vega/vega-lite https://raster.shields.io/github/contributors/vega/vega-lite https://raster.shields.io/github/commit-activity/y/vega/vega-lite https://raster.shields.io/github/license/vega/vega-lite

toyplot

https://raster.shields.io/github/stars/sandialabs/toyplot https://raster.shields.io/github/contributors/sandialabs/toyplot https://raster.shields.io/github/commit-activity/y/sandialabs/toyplot https://raster.shields.io/github/license/sandialabs/toyplot

plotnine

https://raster.shields.io/github/stars/has2k1/plotnine https://raster.shields.io/github/contributors/has2k1/plotnine https://raster.shields.io/github/commit-activity/y/has2k1/plotnine https://raster.shields.io/github/license/has2k1/plotnine
GitHub-Insights: 3D-Darstellungen

Name

Stars

Mitwirkende

Commit-Aktivität

Lizenz

pythreejs

https://raster.shields.io/github/stars/jupyter-widgets/pythreejs https://raster.shields.io/github/contributors/jupyter-widgets/pythreejs https://raster.shields.io/github/commit-activity/y/jupyter-widgets/pythreejs https://raster.shields.io/github/license/jupyter-widgets/pythreejs

ipyvolume

https://raster.shields.io/github/stars/maartenbreddels/ipyvolume https://raster.shields.io/github/contributors/maartenbreddels/ipyvolume https://raster.shields.io/github/commit-activity/y/maartenbreddels/ipyvolume https://raster.shields.io/github/license/maartenbreddels/ipyvolume
GitHub-Insights: Geographie

Name

Stars

Mitwirkende

Commit-Aktivität

Lizenz

cartopy

https://raster.shields.io/github/stars/SciTools/cartopy https://raster.shields.io/github/contributors/SciTools/cartopy https://raster.shields.io/github/commit-activity/y/SciTools/cartopy https://raster.shields.io/github/license/SciTools/cartopy

ipyleaflet

https://raster.shields.io/github/stars/jupyter-widgets/ipyleaflet https://raster.shields.io/github/contributors/jupyter-widgets/ipyleaflet https://raster.shields.io/github/commit-activity/y/jupyter-widgets/ipyleaflet https://raster.shields.io/github/license/jupyter-widgets/ipyleaflet

xarray-leaflet

https://raster.shields.io/github/stars/davidbrochart/xarray_leaflet https://raster.shields.io/github/contributors/davidbrochart/xarray_leaflet https://raster.shields.io/github/commit-activity/y/davidbrochart/xarray_leaflet https://raster.shields.io/github/license/davidbrochart/xarray_leaflet

geopandas

https://raster.shields.io/github/stars/geopandas/geopandas https://raster.shields.io/github/contributors/geopandas/geopandas https://raster.shields.io/github/commit-activity/y/geopandas/geopandas https://raster.shields.io/github/license/geopandas/geopandas

geoplot

https://raster.shields.io/github/stars/ResidentMario/geoplot https://raster.shields.io/github/contributors/ResidentMario/geoplot https://raster.shields.io/github/commit-activity/y/ResidentMario/geoplot https://raster.shields.io/github/license/ResidentMario/geoplot
GitHub-Insights: Graphen und Netzwerke

Name

Stars

Mitwirkende

Commit-Aktivität

Lizenz

graphviz

https://raster.shields.io/github/stars/xflr6/graphviz https://raster.shields.io/github/contributors/xflr6/graphviz https://raster.shields.io/github/commit-activity/y/xflr6/graphviz https://raster.shields.io/github/license/xflr6/graphviz

networkx

https://raster.shields.io/github/stars/networkx/networkx https://raster.shields.io/github/contributors/networkx/networkx https://raster.shields.io/github/commit-activity/y/networkx/networkx https://raster.shields.io/github/license/networkx/networkx
GitHub-Insights: Rendern großer Datenmengen

Name

Stars

Mitwirkende

Commit-Aktivität

Lizenz

datashader

https://raster.shields.io/github/stars/holoviz/datashader https://raster.shields.io/github/contributors/holoviz/datashader https://raster.shields.io/github/commit-activity/y/holoviz/datashader https://raster.shields.io/github/license/holoviz/datashader

vaex

https://raster.shields.io/github/stars/vaexio/vaex https://raster.shields.io/github/contributors/vaexio/vaex https://raster.shields.io/github/commit-activity/y/vaexio/vaex https://raster.shields.io/github/license/vaexio/vaex
GitHub-Insights: OpenGL

Name

Stars

Mitwirkende

Commit-Aktivität

Lizenz

vispy

https://raster.shields.io/github/stars/vispy/vispy https://raster.shields.io/github/contributors/vispy/vispy https://raster.shields.io/github/commit-activity/y/vispy/vispy https://raster.shields.io/github/license/vispy/vispy

glumpy

https://raster.shields.io/github/stars/glumpy/glumpy https://raster.shields.io/github/contributors/glumpy/glumpy https://raster.shields.io/github/commit-activity/y/glumpy/glumpy https://raster.shields.io/github/license/glumpy/glumpy
GitHub-Insights: Weitere Bibliotheken

Name

Stars

Mitwirkende

Commit-Aktivität

Lizenz

Yellowbrick

https://raster.shields.io/github/stars/DistrictDataLabs/yellowbrick https://raster.shields.io/github/contributors/DistrictDataLabs/yellowbrick https://raster.shields.io/github/commit-activity/y/DistrictDataLabs/yellowbrick https://raster.shields.io/github/license/DistrictDataLabs/yellowbrick

iris

https://raster.shields.io/github/stars/SciTools/iris https://raster.shields.io/github/contributors/SciTools/iris https://raster.shields.io/github/commit-activity/y/SciTools/iris https://raster.shields.io/github/license/SciTools/iris

yt

https://raster.shields.io/github/stars/yt-project/yt https://raster.shields.io/github/contributors/yt-project/yt https://raster.shields.io/github/commit-activity/y/yt-project/yt https://raster.shields.io/github/license/yt-project/yt

mpld3

https://raster.shields.io/github/stars/mpld3/mpld3 https://raster.shields.io/github/contributors/mpld3/mpld3 https://raster.shields.io/github/commit-activity/y/mpld3/mpld3 https://raster.shields.io/github/license/mpld3/mpld3

ipympl

https://raster.shields.io/github/stars/matplotlib/jupyter-matplotlib https://raster.shields.io/github/contributors/matplotlib/jupyter-matplotlib https://raster.shields.io/github/commit-activity/y/matplotlib/jupyter-matplotlib https://raster.shields.io/github/license/matplotlib/jupyter-matplotlib
GitHub-Insights: Ruhende Projekte (Stand: 11.04.2020)

Name

Stars

Mitwirkende

Commit-Aktivität

Lizenz

ggpy

https://raster.shields.io/github/stars/yhat/ggpy https://raster.shields.io/github/contributors/yhat/ggpy https://raster.shields.io/github/commit-activity/y/yhat/ggpy https://raster.shields.io/github/license/yhat/ggpy

scikit-plot

https://raster.shields.io/github/stars/reiinakano/scikit-plot https://raster.shields.io/github/contributors/reiinakano/scikit-plot https://raster.shields.io/github/commit-activity/y/reiinakano/scikit-plot https://raster.shields.io/github/license/reiinakano/scikit-plot

d3po

https://raster.shields.io/github/stars/adamlabadorf/d3po https://raster.shields.io/github/contributors/adamlabadorf/d3po https://raster.shields.io/github/commit-activity/y/adamlabadorf/d3po https://raster.shields.io/github/license/adamlabadorf/d3po

vincent

https://raster.shields.io/github/stars/wrobstory/vincent https://raster.shields.io/github/contributors/wrobstory/vincent https://raster.shields.io/github/commit-activity/y/wrobstory/vincent https://raster.shields.io/github/license/wrobstory/vincent

Matplotlib Altair

https://raster.shields.io/github/stars/matplotlib/mpl-altair https://raster.shields.io/github/contributors/matplotlib/mpl-altair https://raster.shields.io/github/commit-activity/y/matplotlib/mpl-altair https://raster.shields.io/github/license/matplotlib/mpl-altair

Weitere Informationen über Lizenzen erhaltet ihr in:

Diagrammtypen

Datengröße

Die Architektur und die zugrundeliegende Technologie für jede Bibliothek bestimmen die unterstützten Datengrößen und somit, ob die Bibliothek für mehrdimensionale Arrays, lange Zeitreihen oder andere große Datasets geeignet ist:

  • OpenGL-Basierte Bibliotheken können i.A. sehr große Datensätze (mehrere Gigabyte) verarbeiten.

  • Matplotlib-basierte Bibliotheken können i.d.R. Hunderttausende von Punkten mit angemessener Leistung verarbeiten oder in bestimmten Sonderfällen (z.B. abhängig vom Backend) mehr.

  • Javascript-basierte Bibliotheken sind ohne besondere Behandlung beschränkt auf einige tausend bis hunderttausend Punkte.

    ipywidgets, Bokeh und Plotly nutzen statt JSON jedoch spezielle Transportmechanismen für Binärdaten, sodass sie hunderttausende bis Millionen von Datenpunkten verarbeiten können.

    Andere Bibliotheken wie ipyvolume, Plotly und in einigen Fällen Bokeh nutzen WebGL, sodass sie bis zu einer Millionen Datenpunkte verarbeiten können.

  • Server-side Rendering mit datashader oder Vaex ermöglichen Milliarden, Billionen oder mehr Datenpunkte.