Animierte Grafiken wie Gapminder

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
Werekorden
Beiträge: 83
Registriert: So Feb 04, 2018 7:52 pm

Animierte Grafiken wie Gapminder

Beitrag von Werekorden »

Hi,
Ich habe mir mal mit den ggplot, gganimate und tweenr Pakten und den dazugehörigen Beispielen Animationen gebastelt. Ich kann die auch exportieren als gif oder mp4. Jetzt möchte ich solche Animationen in Videos integrieren, also mit Adobe After Effects und Premiere zu einem Lehrvideo schneiden.

Frage:
Gibt es Möglichkeiten die Auflösungen der in R erstellten Animationen zu verbessern, denn derzeit sind die nichts für Videos nur für Homepages.

Ich stelle mir das z.b. so vor, dass man die Animation nutzt um wie bei Gapminder Menschen Dinge zu erklären. Leider finde ich das Gapminder-Tool an sich eher bescheiden.

Hat da jemand eine Idee.

Danke euch und auf eine tolle gemeinsame R Zukunft.
Benutzeravatar
EDi
Beiträge: 1604
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Animierte Grafiken wie Gapminder

Beitrag von EDi »

Bitte ein reproduzierbares Beispiel posten. Was sind deine Einstellungen für gganimate (ani.width & ani.height)?
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Werekorden
Beiträge: 83
Registriert: So Feb 04, 2018 7:52 pm

Re: Animierte Grafiken wie Gapminder

Beitrag von Werekorden »

z.B. dies hier:

Code: Alles auswählen

#Neue Methode nach http://blog.revolutionanalytics.com/2017/05/tweenr.html
library(tweenr)
library(gapminder)
library(ggplot2)
library(gganimate)
gapminder_edit <- gapminder %>%
  arrange(country, year) %>%
  select(gdpPercap,lifeExp,year,country, continent, pop) %>%
  rename(x=gdpPercap,y=lifeExp,time=year,id=country) %>%
  mutate(ease="linear")

gapminder_tween <- tween_elements(gapminder_edit,
                                  "time", "id", "ease", nframes = 300) %>%
  mutate(year = round(time), country = .group) %>%
  left_join(gapminder, by=c("country","year","continent")) %>%
  rename(population = pop.x)

p2 <- ggplot(gapminder_tween,
             aes(x=x, y=y, frame = .frame)) +
  geom_point(aes(size=population, color=continent),alpha=0.8) +
  xlab("GDP per capita") +
  ylab("Life expectancy at birth") +
  scale_x_log10(labels=comma)

gganimate(p2, filename="gapminder-tween.gif", title_frame = FALSE, interval = 0.05)
Oh man natürlich wie konnte ich das ani.width vergessen. Gleich mal ausprobieren.

Danke Schonmals
Werekorden
Beiträge: 83
Registriert: So Feb 04, 2018 7:52 pm

Re: Animierte Grafiken wie Gapminder

Beitrag von Werekorden »

nee das bringt nichts. wie ich gerade sehe hier mal ein link zum video
https://www.dropbox.com/s/p0fgaa7vzt9am ... n.mp4?dl=0

zwar wird das Video größer aber ist immer noch extrem unscharf.
Benutzeravatar
student
Beiträge: 740
Registriert: Fr Okt 07, 2016 9:52 am

Re: Animierte Grafiken wie Gapminder

Beitrag von student »

Hallo,

ich kenne das Problem! Ich habe eine simple Lösung für das Problem gefunden, sie mag aber vielleicht nichts für Dich zu sein: Ich lasse die Animation auf dem gesamten Screen laufen und zeichne sie mit einem geeignetem Tool auf. Damit schaffe ich HD.
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Werekorden
Beiträge: 83
Registriert: So Feb 04, 2018 7:52 pm

Re: Animierte Grafiken wie Gapminder

Beitrag von Werekorden »

HI Student,

Ich glaube nicht, dass das reicht. Das Video habe ich in 1920x1080p gemacht und trotzdem sind die Grafiken unscharf. Wenn ich als Alternative im Viewer anschaue ohne Dauerstellung sieht es auch bei der Auflösung unscharf aus.Ich nehme jetzt noch als letzte Option mal die Retina-Auflösung meines Macs, also 2880x1800.

Na großartig, wenn man den Code jetzt noch für Base_size und max_size etwas anpasst:

Code: Alles auswählen

p2 <- ggplot(gapminder_tween,
             aes(x=x, y=y, frame = .frame)) +
  theme_minimal(base_size = 24, base_family = "Georgia") +
  geom_point(aes(size=population, color=continent),alpha=0.8) +
  xlab("GDP per capita") +
  ylab("Life expectancy at birth") +
  scale_size_area(guide = FALSE, max_size = 30) +
  scale_x_log10(labels=comma)
dann bekommt man auch größere Texte und die Bubbles und alles wird größer und automatisch auch schärfer. Es ist noch nicht optimal aber immerhin ein Anfang.

Ja ja bin halt noch ein Noob.
Werekorden
Beiträge: 83
Registriert: So Feb 04, 2018 7:52 pm

Re: Animierte Grafiken wie Gapminder

Beitrag von Werekorden »

Jetzt gibts noch ein kleines Problem.

ich nutze ja die theme_minimal. Wenn ich in dieser jetzt den Zeilenabstand in der Legende ändern will, müsste ich meine theme selbst komplett selbst erstellen oder? Ich kann der theme_minimal keinen Zeilenabstand anhängen so wie ich es sehe.

Stimmt das? Wäre schade, da ich einige vorgefertigte Themes mag und nur Kleinigkeiten ändern muss, weil ich wie bei mir jetzt das Video in hoher Auflösung brauche und dann der Text in der Legende überlappt.

Anbei mal mein neues Video wo man rechts sieht wie die Ländernamen überlappen: https://www.dropbox.com/s/maoqjkjdzvmmd ... 0.mp4?dl=0
Benutzeravatar
EDi
Beiträge: 1604
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Animierte Grafiken wie Gapminder

Beitrag von EDi »

kannst du alles mit ?theme weiter anpassen.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
schubbiaschwilli
Beiträge: 268
Registriert: Di Jun 27, 2017 12:09 pm

Re: Animierte Grafiken wie Gapminder

Beitrag von schubbiaschwilli »

Gude!

Ich (als Multimedia-Ahnungsloser) bin einen anderen Weg gegangen. Ich nutze in meinem Blog bspw. hier sowas wie animierte Plots (hier 2x):
https://thepathisthegoalblog.wordpress. ... g-xgboost/
Ich habe über eine Schleife einzelne Plots erstellt (einmal über die Tage, einmal über den Winkel), und dann mit magick ( https://imagemagick.org/index.php ) mit einem Batch-Befehl aus den *.pngs *.gifs erstellt. Es gibt inzwischen auch eine Library dafür ( https://cran.r-project.org/web/packages ... intro.html ), das war aber erst später, und die Batches funktionieren halt.

Dank&Gruß
Schubbiaschwilli
Antworten