2016-12-09 10 views
2

Я пытаюсь импортировать gif и превращать его в grob, чтобы использовать его с функцией annotation_custom в ggplot, пока я импортировал его и был способный превратить его в изображение.Transfor Gif to grob in R для использования с annotation_custom в ggplot

До сих пор это то, что у меня есть:

library(caTools) 
require(ggplot2) 
require(grid) 
require(gridExtra) 
y <- read.gif("http://blog.helpingadvisors.com/wp-content/uploads/2011/01/basketballcourt.gif") 

и получить список, до сих пор я был в состоянии построить его:

image(y$image, col=y$col, main=y$comment, asp=1) 

Но я пытался превратить его в Grob:

a <- rasterGrob(image(y$image, col=y$col, main=y$comment, asp=1)) 

или попробовать

raster(image(y$image, col=y$col, main=y$comment, asp=1)) 

, а затем сохранить его как grob, но так как образ возвращает класс NULL, он не работает.

Я также попытался использовать матрицу от у, но это становится действительно странные цвета:

plot(raster(y$image)) 

и мне действительно нужны оригинального цвет

ответ

2
mat = y$col[y$image+1] 
dim(mat) = dim(y$image) 
qplot(1,1) + annotation_custom(rasterGrob(mat)) 

enter image description here

+0

Спасибо @ баптист, это действительно трюк –