06 Visualisierungen

Einführung in die quantitativen Forschungsmethoden

Quiz zur letzten Sitzung

Quiz Link

Grundprinzipien der Visualisierung

Grundprinzipien

Welche Visualisierungen finden Sie hilfreich, welche weniger?

Weniger ist mehr

  • Edward Tufte: “Above all else show the data”
    • data-ink-ratio as proportion of ink devoted to non-redundant information

\(data-ink-ratio=\frac{data-ink}{total\ ink\ used\ to\ print\ figure}\)

Visuelle Merkmale

Bestimmte visuelle Merkmale (pre-attentive attributes) werden von unserem Auge vorgefiltert

  • Farben
  • Größe
  • einfache Formen
  • Länge von Linien

Andere Merkmale brauchen unser Bewusstsein

  • z.B. erkennen von Buchstaben & Zahlen

visuelle Merkmale können helfen Information prominenter zu machen

Visuelle Merkmale

Die hervorhebende Wirkung von visuellen Merkmalen hängt auch vom Kontext ab

Aufteilen von Grafiken

  • häufig ist Information besser auf mehrere, kleinere Grafiken verteilt (‘small multiples’)
    • → zerlegen in verschiedene daten-basierte Schichten
  • → Vergleiche zwischen Gruppen bieten sich visuell an

Mehr zu Wahrnehmung

  • z.B. in Healy (2018)

Visualisierungen und Forschung

Visualisierungen und Forschung

aus Traunmüller (2020), S. 437

Visualisierungen und Forschung

Die vier Grafiken zeigen

  • gleiche Mittelwerte für X & Y
  • gleiche Standardabweichungen für X & Y
  • gleiche Korrelationen zwischen X & Y

→ Visualisierungen helfen uns Zusammenhänge zu erkennen

Visualisierungen und Forschung

“Data visualization can be understood as a translation tool that assigns abstract numerical values to physical properties such as spatial position along a scale, the length of a bar or the geometric shape and color of a plotting symbol.

However, data visualization involves more than simply mapping numbers to visual stimuli. Ideally, data visualization is a method that helps us and our audience understand the political world by assisting analytical thinking.”

Traunmüller (2020), S. 437


Visualisierung als Form der Präsentation und Kommunikation

Visualisierung als Form der (explorativen) Analyse

Visualisierungen erstellen

Visualisierungen erstellen

In R hilft das ggplot2 Paket (Teil von tidyverse) beim Herstellen komplexerer Grafiken. Es ist ebenfalls in tidyverse enthalten.

library(tidyverse)

Beispiel: Zusammenhang Regierungs- & Demokratiezufriedenheit

Wir berechnen den Durchschnitt der Regierungs- (stfgov) und Demokratiezufriedenheit (stfdem)

library(haven)
ess8 <- read_dta("../data/ESS8e02_2.dta")

# gruppieren
ess8 <- group_by(ess8,cntry)

# zusammenfassen
democracy <- summarise(ess8,
                       mean_stfgov=mean(stfgov,na.rm=T),
                       mean_stfdem=mean(stfdem,na.rm=T))

Visualisierungen erstellen

ggplot() erstellt den Plot

ggplot(data=democracy)

Visualisierungen erstellen

  • Definition von Variablen als aesthetics mit aes()
    • x-Variable, y-Variable
  • geom_point() erzeugt einen Scatterplot basierend auf Werten
    • Achtung: Hinzufügen mit +
ggplot(data=democracy)+
  geom_point(aes(x=mean_stfgov,
                 y=mean_stfdem))

Geoms

  • geom_point() ist nur ein sogenanntes ‘geom’ → viele weitere in R
    • verschiedene geoms brauchen oft unterschiedliche aesthetics

Beispiel: geom_label() braucht eine Variable mit Label-Text → R-Dokumentation hilft

ggplot(data=democracy)+
  geom_label(aes(x=mean_stfgov,
                   y=mean_stfdem,
                   label=cntry))

Weitere visuelle Merkmale

  • Kontrolle weiterer Merkmale über aes
    • z.B. fill, color, shape, …
    • Verknüpfung mit Variable
democracy$cee <- ifelse(democracy$cntry %in%
                          c("CZ","EE","HU","LT","PL","SI"),
                        "CEE","other")
ggplot(data=democracy)+
  geom_point(aes(x=mean_stfgov,
           y=mean_stfdem,
           color=cee,
           shape=cee))

Faceting

  • mit facet_wrap() kann man small multiples erzeugen und den Plot entlang einer Variable ‘schichten’
democracy$lowhigh <- ifelse(democracy$mean_stfdem>5,
                            "high","low")
ggplot(data=democracy,
       aes(x=mean_stfgov,
           y=mean_stfdem,
           label=cntry))+
  geom_label()+
  facet_wrap(~lowhigh)

Faceting

  • besonders hilfreich, wenn wir Statistiken für jede Facet berechnen
    • z.B. zeichnet geom_smooth() eine Regressionslinie (lm: lineares Modell)
ggplot(data=democracy,
       aes(x=mean_stfgov,
           y=mean_stfdem,
           label=cntry))+
  geom_smooth(method="lm")+
  geom_label()+
  facet_wrap(~lowhigh)

Geoms

  • Möglichkeit aes() für alle geoms zu definieren durch vorziehen der aes()-Definition in ggplot()
ggplot(data=democracy)+
  geom_label(aes(x=mean_stfgov,
           y=mean_stfdem,
           label=cntry))+
  geom_point(aes(x=mean_stfgov,
           y=mean_stfdem))

ggplot(data=democracy,
       aes(x=mean_stfgov,
           y=mean_stfdem,
           label=cntry))+
  geom_label()+
  geom_point()

Themes

Themes sind Möglichkeiten das Aussehen des Plots zu verändern

  • vorgefertigte komplette themes
  • Generierung eigener themes
plot <- ggplot(data=democracy)+
  geom_point(aes(x=mean_stfgov,
                 y=mean_stfdem,
                 color=cee))

Themes

plot
plot+theme_minimal()
plot+theme_bw()
plot+theme_classic()

Themes

Einige typische eigene Modifikationen

  • theme(legend.position="bottom") / theme(legend.position="none")
    • platziert Legende anders / verbirgt sie
  • theme(axis.text=element_text(size=4))
    • verändert Größe der Achsen-Annotation
plot+theme(legend.position="bottom")
plot+theme(axis.text=element_text(size=15))

Übersicht

  • Geoms: Art der Visualisierung
    • geom_point()
    • geom_label()
    • geom_smooth()
  • aesthetics: Variable Eigenschaften, in geom oder ggplot definiert
    • x, y
    • color, shape, fill etc.
  • Facets: facet_wrap()
  • Themes
    • theme_minimal(), theme_classic(), theme_bw()
  • CheatSheet

Übungen 1

Bearbeiten Sie den ersten Teil des Übungsfiles

Weitere Arten von Plots

Häufigkeitsverteilungen

  • als Histogramm mit geom_histogram()
    • zählt Kategorien aus
ggplot(data=ess8,aes(x=agea))+
  geom_histogram()

→ nützlich v.a. für wenige Kategorien

Häufigkeitsverteilungen

  • als weichgezeichnete Verteilung mit geom_density()
    • Häufigkeitsverteilung, keine direkten Werte → sinnvoll für viele Kategorien
  • hier wird fill als ‘attribute’ verwendet (siehe cheat sheet), d.h. es ist nicht mit einer Variable verknüpft und steht deswegen nicht in aes, sondern im geom
ggplot(data=ess8,aes(x=agea))+
  geom_density(fill="turquoise",alpha=0.4)

→ geeigneter für viele Kategorien

Bar chart

  • Bar charts mit geom_col()
    • auch geom_bar(stat="identity")
    • geom_bar() zählt Häufigkeit, geom_col() und geom_bar(stat="identity") funktionieren, wenn wir die Häufigkeit schon berechnet haben
# sortieren der Werte
democracy <- democracy %>%
  arrange(mean_stfgov) %>%
  mutate(cntry=factor(cntry,cntry))

# Grafik
ggplot(data=democracy,
       aes(x=mean_stfgov,xend=0,
           y=cntry, yend=cntry))+
  geom_col()

Bar chart 2

  • Bar charts können auch die Häufigkeit von Werten anzeigen
    • das ist die Standardeinstellung bei geom_bar() !
ggplot(data=ess8,
       aes(x=stfgov))+geom_bar()

Lollipop chart

# sortieren
democracy <- democracy %>%
  arrange(mean_stfgov) %>%
  mutate(cntry=factor(cntry,cntry))

# lollipop chart
ggplot(data=democracy,
       aes(x=mean_stfgov,xend=0,
           y=cntry, yend=cntry))+
  geom_segment()+
  geom_point()

→ Achtung: geom_segment() braucht auch xend und yend als Spezifikation, weil es eine Fläche zwischen diesen Punkten markiert!

Lollipop chart

democracy$col <- ifelse(democracy$cntry=="DE","highlight","else")
ggplot(data=democracy,
       aes(x=mean_stfgov,xend=0,
           y=cntry, yend=cntry,
           # Definition Farbe
           color=col))+
  geom_segment()+
  geom_point()+
  # Legende unterdrücken
  theme_minimal() + theme(legend.position="none")+
  # zuweisen von Farben
  scale_color_manual(values=c("gray","#094782"))

Karten

z.B. ESS Karte ist auch mit R erzeugt

Figure 1: Länder nach ESS-Runde

→ …aber etwas komplizierter → nur für Extra-motivierte

Inspirationen

Inspirationen

Aufgabe

Bearbeiten Sie das Übungsfile

Erstellen Sie eine Visualisierung für Ihre Forschungsfrage

Nächste Woche: Visualisierungen - Teil 2

Referenzen

Healy, Kieran. 2018. Data Visualization: A Practical Introduction. Princeton, NJ: Princeton University Press.
Traunmüller, Richard. 2020. “Visualizing Data in Political Science.” In The SAGE Handbook of Research Methods in Political Science and International Relations, 436–60. 1 Oliver’s Yard, 55 City Road London EC1Y 1SP: SAGE Publications Ltd. https://doi.org/10.4135/9781526486387.n28.