Windyty ist ein sehr hübsche Webseite, auf der man sich in Echtzeit (naja, zumindest relativ aktuell) diverse Wind- und Wetterphänome auf einer Karte ansehen kann. Am besten selbst anschauen und herumklicken…
Schlagwort: visualisierung
Diagramme mit yED
Supposedly Educational: Neue R-Version verfügbar
Pantheon: Berühmtheiten aus sechs Jahrtausenden
Teil der Operation Frühjahrsputz 2016, in deren Verlauf angefangene und nie beendete Postings einfach so veröffentlicht werden.
Wer sind die “berühmtesten” Personen der Weltgeschichte? Ein Projekt am MIT Media Lab wollte dies herausfinden und hat dazu verschiedene Datensätze zusammengebracht und visualisiert. Betrachtet man den gesamten Zeitraum, sind Aristoteles und Plato die Prominentesten, über die Aussagekraft der verwendeten Methoden kann man allerdings durchaus geteilter Meinung sein. Das Pantheon der ab 1990 Geborenen wird übrigens zur Hälfte von SchauspielerInnen bestückt, weitere stark vertretene Berufsgruppen stammen aus der Musik oder dem Sport, dort besonders aus dem Fussball.
Wie man bessere Abbildungen gestaltet
Teil der Operation Frühjahrsputz 2016, in deren Verlauf angefangene und nie beendete Postings einfach so veröffentlicht werden.
Aus der beliebten “10 Simple Rules”-Kollektion der PLoS: Ten Simple Rules for Better Figures.
Was ist ein Beeswarm-Plot?
Neben den Boxplots und Violinplots gibt es noch zahlreiche bis zahllose andere Visualisierungen. Kürzlich bin ich (wieder besten Dank an Holger) über Beeswarm-Plots [1] Aron Eklund 2015. beeswarm: The Bee Swarm Plot, an Alternative to Stripchart. URL: http://CRAN.R-project.org/package=beeswarm. gestolpert. Auch hiermit lassen sich Verteilungen darstellen.
# Pakete laden library(ggplot2) library(beeswarm) # Daten aus CSV-Datei einlesen apc |
Das Skript wurde nun ein bißchen erweitert. Zuerst einmal musste ein weiteres Paket geladen werden, die Beeswarm-Library. Damit lassen sich Verteilungen sehr gut darstellen, sofern der Datensatz nicht allzu groß ist. Bei unserem Testdatensatz, den APCs der Uni Hannover, funktioniert das richtig gut:
Ergebnis:


Durch die Darstellung der einzelnen “Bienen” wird deutlich klarer, wie die Verteilung tatsächlich ist, da nicht nur ein ganzer Bereich für die jeweiligen Quartile abgesteckt wird. Die Menge der sinnvoll darzustellenden Punkte ist aber deutlich begrenzt. Versucht man, die Einwohnerzahlen von einigen Tausend Städten darzustellen, hat man im Ergebnis einen bunten Klecks, der letztendlich sehr stark einem unregelmäßig umrandeten Violinplot ähnelt.
Disclaimer: Dies ist eine äußerst laienhafte Erklärung!
References
↑1 | Aron Eklund 2015. beeswarm: The Bee Swarm Plot, an Alternative to Stripchart. URL: http://CRAN.R-project.org/package=beeswarm. |
---|
Was ist ein Violin-Plot?
Der Violin-Plot (gibt es eine deutsche Bezeichnung? Violinen-Diagramm?) ist eine Weiterentwicklung des Boxplots. Er wurde 1998 vorgestellt [1]Hintze, Jerry L. & Nelson, Ray D. 1998. Violin Plots: A Box Plot-Density Trace Synergism. The American Statistician 52(2), 181–184. DOI: 10.1080/00031305.1998.10480559Besten Dank an Holger … Continue reading und soll die Visualisierung der Verteilungen verbessern. Das Boxplot-Skript kann man durch Ersetzung einer einzigen Funktion in ein Violinplot-Skript verwandeln:
# Pakete laden library(ggplot2) # Daten aus CSV-Datei einlesen apc <- read.csv('https://raw.githubusercontent.com/OpenAPC/openapc-de/master/data/apc_de.csv', encoding = "UTF-8", sep=",", header = TRUE) # Daten auswählen apc <- apc[, c("Institution", "EURO", "Period")] # Nur noch drei Spalten apc <- apc[apc$Institution == "Hannover U", ] # Nur noch Uni Hannover # Boxplot erstellen box <- ggplot(apc, aes(x = Institution, y = EURO)) box <- box + geom_boxplot() box # Ausgabe # Violinen-Plot erstellen vio <- ggplot(apc, aes(x = Institution, y = EURO)) vio <- vio + geom_violin() vio # Ausgabe |
Ich habe den Boxplot zur besseren Vergleichbarkeit im Skript belassen.
Ergebnis:
Aus der englischen Wikipedia:
The violin plot is similar to box plots, except that they also show the probability density of the data at different values (in the simplest case this could be a histogram). Typically violin plots will include a marker for the median of the data and a box indicating the interquartile range, as in standard box plots. Overlaid on this box plot is a kernel density estimation.
Dieses war der zweite Plot, und der nächste folgt sofott.
Disclaimer: Dies ist eine äußerst laienhafte Erklärung!
References
↑1 | Hintze, Jerry L. & Nelson, Ray D. 1998. Violin Plots: A Box Plot-Density Trace Synergism. The American Statistician 52(2), 181–184. DOI: 10.1080/00031305.1998.10480559 Besten Dank an Holger für den Hinweis! |
---|
Was ist ein Boxplot?
Kürzlich fragte ich auf Twitter, ob man in bibliothekarischen Publikationen erklären müsse, was Boxplots sind, wenn man sie zur Visualisierung von Daten verwenden möchte. Tenor: Eher ja.
Eigentlich sind Boxplots nicht sonderlich kompliziert. Mit Boxplots kann man Verteilungen in Daten visualisieren. Nehmen wir – als einfaches und leicht nachzuvollziehendes Beispiel – die APCs (“Article processing charge”), die im Open-APC-Projekt gesammelt werden.
Die Beispiele hier sind mit R erstellt und relativ leicht nachvollziehbar. Einfach R (und unbedingt RStudio!) installieren und einfach ausprobieren. Es ist nicht so schwer, wie es zuerst aussieht. Und es gibt Unmengen an Tutorials und Büchern zu R. Und vor allem Stackoverflow.
Also: RStudio starten, die hier verwendeten Pakete installieren und dann folgendes Skript eingeben:
# Pakete laden library(ggplot2) # Daten aus CSV-Datei einlesen apc <- read.csv('https://raw.githubusercontent.com/OpenAPC/openapc-de/master/data/apc_de.csv', encoding = "UTF-8", sep=",", header = TRUE) # Daten auswählen apc <- apc[, c("Institution", "EURO", "Period")] # Nur noch drei Spalten apc <- apc[apc$Institution == "Hannover U", ] # Nur noch Uni Hannover # Boxplot erstellen box <- ggplot(apc, aes(x = Institution, y = EURO)) box <- box + geom_boxplot() box # Ausgabe |
Der Boxplot sieht dann folgendermaßen aus:

Erklärung:
X-Achse = Institution; Y-Achse = Höhe der APC in Euro. Was bedeutet jetzt dieses komische Kästchen mit den Strichen und Punkten? Ganz einfach:
Die Box entspricht dem Bereich, in dem die mittleren 50 % der Daten liegen. Sie wird also durch das obere und das untere Quartil begrenzt […]. Dieser ist ein Maß der Streuung der Daten, welches durch die Differenz des oberen und unteren Quartils bestimmt wird. Des Weiteren wird der Median als durchgehender Strich in der Box eingezeichnet. Dieser Strich teilt das gesamte Diagramm in zwei Hälften, in denen jeweils 50 % der Daten liegen.
Die “Antennen” (oder “Whisker”) auf und unter der Box stehen für die oberen und unteren 25 %. Ausreißer werden durch einzelne Punkte gekennzeichnet. In diesem Fall gibt es zwei Ausreißer zum unteren Ende.
Soviel erst einmal dazu. Es gibt noch viele andere Visualisierungsmöglichkeiten, von denen ich hier demnächst noch einige vorstellen möchte.
Disclaimer: Dies ist eine äußerst laienhafte Erklärung!
Dynamische Graphen mit R und D3
Ein Beispielskript für dynamische Graphen mit R und D3.
Visualisierungen mit D3
Visualisierungen waren nicht nur auf dem VIVO-Workshop ein Dauerthema. Und in VIVO sind sie teils noch in Flash umgesetzt. Wie man das in Javascript mit D3 machen kann, ist in dieser Galerie zu sehen.