Packages, Plots & eine Prise Python. Special guest: Mathematica

Warming Stripes

Eine anschauliche Visualisierung des Klimawandels

Warming Stripes sind eine gute Möglichkeit, die eher abstrakten Daten zur Klimaerwärmung zu visualisieren und verständlich darzustellen. Die Daten selbst sind öffentlich zugänglich. Leugnen ist zwecklos.
Das Konzept der Warming Stripes stammt von Ed Hawkins, Klimaforscher an der Universität Reading. Die Umsetzung in R ist Dominic Royé von der Universität Porto zu verdanken. Große Teile dieses Skripts basieren auf seiner Arbeit. Die Idee der Warming Stripes ist es, jährliche Durchschnitts-Temperaturen unterschiedlich einzufärben von blau bis rot. Je dunkler, desto kälter bzw. wärmer. Die Daten für das Skript stammen vom Goddard Institute for Space Studies (GISS) der NASA. Damit lassen sich für Tausende Städte weltweit Warming Stripes erstellen.

library(tidyverse)
library(lubridate)
library(RColorBrewer)

df <- read.csv("https://www.petitessen.net/wp-content/uploads/2019/10/climate.csv", 
               sep = ",", header = T, row.names = NULL)
keep <- c(1, 18)
df <- df[,keep]
df <- mutate(df, metANN = ifelse(metANN == 999.90, NA, metANN))
df <- mutate(df, date = str_c(YEAR, "01-01", sep = "-") %>% ymd())
theme_strip <- theme_minimal()+
  theme(axis.text.y = element_blank(),
        axis.line.y = element_blank(),
        axis.title = element_blank(),
        panel.grid.major = element_blank(),
        legend.title = element_blank(),
        axis.text.x = element_text(vjust = 3),
        panel.grid.minor = element_blank(),
        plot.title = element_text(size = 14, face = "bold"))
col_strip <- brewer.pal(11, "RdBu")
ggplot(df, aes(x = date, y = 1, fill = metANN)) +
  geom_tile() +
  scale_x_date(date_breaks = "7 years",
               date_labels = "%Y",
               expand = c(0, 0)) +
  scale_y_continuous(expand = c(0, 0)) +
  scale_fill_gradientn(colors = rev(col_strip), na.value = "gray70")+
  guides(fill = guide_colorbar(barwidth = 1)) +
  labs(title = "München 1880-2019",
       caption = "Daten: GISS Surface Temperature Analysis") +
  theme_strip

Warming Stripes

Klicke auf das Bild für eine vergrößerte Darstellung

Das Skript: Das Skript liest zunächst die benötigten Packages ein, wobei tidyverse ein Meta-Package darstellt, das 25 nützliche Packages wie ggplot2, dplyr und lubridate enthält. Danach liest read.csv() die Daten für die Stadt München von der GISS-Seite ein. Die folgenden Zeilen formatieren den Data Frame, bis nur noch das Jahr und die jährliche Durchschnittstemperatur enthalten sind. Danach gilt es fehlende Messwerte, die in der CSV-Datei als 999.90 enthalten sind, durch NA zu ersetzen. Schließlich werden Datumsangaben hinzugefügt, um besser mit den Daten umgehen zu können.
Die nächsten Zeilen erzeugen das passende Theme für die Warming Stripes sowie die Farbpalette. Schließlich übernimmt ggplot die Darstellung der Grafik. Da keine Y-Werte vorhanden sind, wird willkürlich eine 1 als fester Wert angegeben. Mit na.value lässt sich die Farbe für Jahre ohne Messwerte anpassen, hier ein Grau.
Das Erbegnis zeigt eindeutig, dass es beginnend mit den 1990er-Jahren wärmer geworden ist, die 10 wärmsten Jahre liegen allesamt im neuen Jahrtausend. Besonders kalt war es in den Jahren 1929 und 1940 bis 1942. Für die Jahre 1946 und 1947 liegen keine Messwerte vor.

Bier Schreiben macht durstig! Spendier mir doch ein Bier, indem du mir einen kleinen Betrag via Paypal schickst oder ein paar Bitcoin- oder Ethereum-Bruchteile an die entsprechende nachfolgende Adresse. Prost & auf dein Wohl!





Bitcoin-Adresse : 1PjYNNjHmkAUmf626hukL32Vs1wFt8v1wT
Ethereum-Adresse : 0x974e73994c7483eef1396a21b9937aecb7b6c286

Teile diesen Beitrag!

1 Kommentar

  1. Christian

    Wenn ich es richtig verstehe, sind hier die Jahresmittelwerte farblich codiert.
    Der eigentliche Sinn der Warming Stripes ist es jedoch die Abweichung von einem langjährigen Mittelwert farblich darzustellen. Der Farbwechsel hier liegt bei ca. 9,4°C, d.h . aber nicht, dass dieser Wert auch der „Nullwert“ des langjährigen Mittels ist (kann sein, wäre aber Zufall). In den Original Warming Stripes entspricht der „Nullwert“ dem Mittelwert der Jahre 1971-2000, was für die farbliche Darstellung den Vorteil hat, dass die Abweichungen von diesem Mittelwert ungefähr symmertrisch ist.
    Um „echte“ Warming Stripes zu plotten, fehlt also noch ein wenig Mathematik.

    Beste Grüße

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*