Для проекта я оживляю сюжет. Текущий график отображается ниже:
Проблема
Я хотел бы включить фоновое изображение. Но я не могу поместить фон в панель, а также в сюжет.
Мой вопрос
Есть ли возможность поместить изображение в качестве фона на весь сюжет и его окружение?
Я также проверил это решение , но без получения предполагаемого решения. Предлагаемое решение работает только для ggplot2, а не для анимации.
Код для воспроизведения сюжета
# load library
library(imager)
library(ggimage)
library(magick)
library(tidyverse)
library(gganimate)
library(png)
library(gapminder)
#read data
df <- data.frame(Player = rep(c("Aguero", "Salah", "Aubameyang", "Kane"), 6),
Team = rep(c("ManCity", "Liverpool", "Arsenal", "Tottenham"), 6),
Gameday = c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6),
Goals = c(0,1,2,0,1,1,3,1,2,1,3,2,2,2,4,3,3,2,4,5,5,3,5,6),
stringsAsFactors = F)
# import images
df2 <- data.frame(Player = c("Aguero", "Salah", "Aubameyang", "Kane"),
Image = c("https://raw.githubusercontent.com/sialbi/examples/master/player1.png",
"https://raw.githubusercontent.com/sialbi/examples/master/player2.png",
"https://raw.githubusercontent.com/sialbi/examples/master/player3.png",
"https://raw.githubusercontent.com/sialbi/examples/master/player4.png"),
stringsAsFactors = F)
gap <- df %>%
group_by(Gameday) %>%
mutate(rank = min_rank(-Goals) * 1,
Value_rel = Goals/Goals[rank==1],
Value_lbl = paste0(" ", Goals)) %>%
filter(rank <=10) %>%
ungroup()
p = gap %>%
left_join(df2, by = "Player") %>% # add image file location to the dataframe being