Tagesaktuelle Corona-Fallzahlen als interaktive Tortengrafik

Die Johns-Hopkins-Universität in Baltimore liefert tagesaktuelle Fallzahlen der Corona-Erkrankungen. Mit einem kleinen R-Skript lassen diese sich in Form einer interaktiven Tortengrafik visualisieren.
Kernstück des Skripts sind die beiden R-Packages coronavirus und plotly. Plotly ist im Zusammenspiel mit htmlwidgets die reine Wundertüte und kann statische ggplot2-Grafiken in interaktive Diagramme umwandeln. Dem Package wird demnächst ein eigener Blog-Beitrag gewidmet. Rami Krispin hat das Package coronavirus programmiert. Es zieht die neuesten Corona-Daten vom Johns Hopkins University Center for Systems Science and Engineering und stellt sie in einem strukturierten Dataset zur Verfügung. Die CSV-Version lässt sich bei Github herunterladen. Das Erbegnis ist eine interaktive HTML-Datei.

library(coronavirus)
library(dplyr)
library(plotly)
library(htmlwidgets)
p <- coronavirus %>% 
  filter(type == "confirmed") %>%
  group_by(Country.Region) %>%
  summarise(total_cases = sum(cases)) %>%
  arrange(-total_cases) %>%
  mutate(country = factor(Country.Region, levels = Country.Region)) %>%
  ungroup() %>%
  plot_ly(labels = ~ country, 
          values = ~ total_cases,
          type = "pie",
          textposition = 'inside',
          textinfo = 'label+percent',
          insidetextfont = list(color = '#FFFFFF'),
          hoverinfo = 'text',
          text = ~ paste(country, " – ",
                         "Number of confirmed cases: ", total_cases, sep = "")) %>%
  layout(title = "Coronavirus - Confirmed Cases")
saveWidget(partial_bundle(p), file="coronapie.html")
p

https://www.petitessen.net/wp-content/uploads/2020/05/coronapie.html

Klicke auf den Link für eine interaktive Darstellung

Das Skript: Es empfiehlt sich, bei der Installation des Package coronavirus die Github-Version der CRAN-Version vorzuziehen, da sich ersteres tagesaktuell updaten lässt. Die Installation erfolgt mit devtools::install_github("covid19r/coronavirus"), und update_datasets(silence = TRUE) bringt das Datenpaket auf den neuesten Stand.
Das Skript lädt zunächst die benötigten Packages. Dann lädt es die Corona-Daten und bringt sie in die passende Form. Dazu dienen Befehle aus dem Package dplyr und der Pipe-Operator %>%. Dann erstellt plot_ly das Diagramm. Die Parameter sind weitgehend selbsterklärend. Schließlich erzeugt saveWidget(partial_bundle(p), file="coronapie.html") die interaktive HTML-Datei. Die ließe sich zwar auch mit Bordmitteln von RStudio ausgeben, aber partial_bundle() sorgt für eine deutlich geringere Dateigröße. Wenn du mit dem Mauszeiger über ein Land fährst, werden die aktuellen Fallzahlen eingeblendet. Ein Mausklick in der Länderliste blendet das Land aus, eine Doppelklick blendet alle aus, sodass sich einzelne Länder wieder zuschalten lassen.

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!