Datenvisualisierungen - od-ms/resources GitHub Wiki
Online-Kurs "Datenvisualisiserung Tutorial" vom ODIS Berlin: https://odis-berlin.de/module/05-daten-visualisieren/ - https://www.youtube.com/embed/4bQ2DniKfHU
Open-Source-Software zum Auswerten/Visualisieren von Daten
Die folgende Auswertung berücksichtigt die Anforderungen, die sich für die Visualisierung von Open-Data-Datensätzen des DKAN-Datenportals ergeben.
Es gibt einige Features, die solche Systeme haben können, die für die Betrachtung irrelevant sind:
- Anbindung an Unternehmens-Benutzermanagement (LDAP, ..)
- Auswertungen erstellen mit "LOW-Code" (keine SQL-Eingabe notwendig)
Unsere "Must-have"-Anforderungen:
- Die Möglichkeit zur Einbindung externer Datenquellen (z.B. CSV-Dateien per https)
- Öffentlich zugreifbare Dashboards erstellen können, die ohne Benutzeranmeldung abrufbar sind
Redash
- Installation: Sehr einfach (Vorgefertigtes Script mit Docker Compose)
- Installationsanleitung: https://computingforgeeks.com/install-redash-data-visualization-dashboard-on-ubuntu/?expand_article=1 - Achtung das Skript hat bei mir eine alte Version (8.xx) installiert, ggf. muss man noch die Docker-compose Datei anpassen!
- Datenquellen: ⭐⭐ Man kann externe Datenquellen per HTTP nutzen: JSON, CSV, Excel(!).
- Datenkonvertierung: ⭐⭐ Falls die Daten nicht das passende Format zur Erstellung einer Visualisierung haben, kann man per neue Datenquelle "Query Results" auch bestehende externe Datenquellen mit SQL konvertieren: https://redash.io/help/user-guide/querying/query-results-data-source
- ⭐ Visualisierungen: Umfangreiche Möglichkeiten
- Vordefinierte Parameter für die Visualisierungen erstellen: https://redash.io/help/user-guide/querying/query-parameters
- Filter erstellen: https://redash.io/help/user-guide/querying/query-filters
- ⭐⭐ Öffentliche Dashboards mit 1 Click erstellen
- Nachteile:
- GeoJson lassen sich nicht so gut verarbeiten, da lat und long nicht in getrennten Feldern stehen.
Apache Superset
- ⭐⭐ Visualisierungen: SEHR Umfangreich -- aber auch sehr komplex zu bedienen
- Installation: Einfach mit Docker Compose
- Installationsanleitung: https://superset.apache.org/docs/installation/installing-superset-using-docker-compose - man muss explizit 3.0.0 angeben, um nicht eine ur-alte Version zu bekommen.
- Datenquellen: 🥵 Nur Datenbanken, keine CSV oder JSON Dateien per HTTP. Man benötigt also zusätzlich ein ELT Tool wie z.B. meltano.
- Dashboards: Öffentlichen Dashboards scheinen möglich, s.u. (..aber Dokumentation nur mittelgut)
- Beispiel, wie andere das nutzen: https://plattform.wattbewerb.de/ranking (auf eine Stadt klicken)
Python + Jupyter Notebooks
- Für Jupyter Notebooks ist Python-Programmierung notwendig
- Jupyter Notebooks sehen normalerweise recht technisch aus und nicht wie "Dashboards", es gibt verschiedene Möglichkeiten, das zu lösen:
- "ipywidgets" - Tutorial-Video: https://www.youtube.com/watch?v=jKjFbvWugZA
- "Voilá" - Vortrag JupyterCon 2023: https://www.youtube.com/watch?v=Iuk6LmFQK18
- ⭐Update⭐: Solara soll eine gute Lösung sein, um mit JupyterNotebook ein Dashboard zu erstellen: https://solara.dev/ - https://solara.dev/docs/tutorial/jupyter-dashboard-part1
- Datenquellen: Hohe Flexibilität, sehr offenes Konzept durch Möglichkeit alle Python-Pakete zu nutzen.
- Dashboards: 🥵🥵🥵 Scheint recht frickelig zu sein. Ggf. zu einem späteren Zeitpunkt nochmal genauer anschauen.
- To Do: Hier erklärt Mark Topacio weitere Möglichkeiten, um Dashboards mit Jupyter Notebooks zu erstellen: https://www.marktopac.io/posts/2023-07-08-interactive-dashboards-in-python-2023
R + Shiny
- Die Programmiersprache R ist sehr mächtig und benötigt tendenziell etwas weniger Code als Python, man kann fast von Low-Code sprechen.
- Features:
- Reports generieren funktioniert relativ gut mit R im Zusammenspiel mit LaTex
- Zusammen mit der Bibliothek "Shiny" kann man gute Dashboards erstellen
- RStudio Server ist eine gute Lösung um direkt auf dem Server zu programmieren
Weitere Ideen / OSS Projekte
Kibana, Grafana => vmtl. zu technisch & speziell?
Limbas Open Source
Lightdash
Chartbrew
Metabase
EDA - Web application for data analysis and visualization. (https://github.com/jortilles/EDA
Mehr Python:
Streamlit - Scheint ähnlich wie R/Shiny zu sein, sehr gut geeignet für rapid Prototyping, aber weniger für produktive Anwendungen
Plotly Dash - Gute Lösung für Dashboards in Python? Lese mehr hier: https://databasecamp.de/python/streamlit
Ebenfalls berücksichtigenswert:
CKAN bekommt bald ein Visualisierungsmodul mit Plotly
https://www.piveau.de/
modul-f low code
Open Source Datenbanktools
Spreadsheets / No Code / Visualizations
- Baserow - https://baserow.io/ - 1965 stars (Gitlab) - "Die" open-core Alternative zu Airtable - Die Open Source Version hat wohl etwas wenig features.
- NocoDb - https://nocodb.com/ - 45.9k stars
- API Table - 12.9k stars - https://github.com/apitable/apitable - Heißt jetzt AItable - Riskant weil scheint etwas wenige contributors zu haben
- Grist - https://www.getgrist.com/ - open-core - 6.9k stars- Self Hosted Open Source Google Docs auf Dope
- Appflowy - https://www.appflowy.io/ - 53.5k stars - Alternative zu Notion, mit diversen Apps für alle Mobil- und Desktop Systeme