Inserindo uma imagem para ggplot fora da área do gráfico
É possível adicionar uma imagem ao gráfico ggplot que estará fora da área do gráfico?
Eu sei que é possível adicionar imagens ao gráfico usando annotate_raster e annotate_custom, no entanto, ambas adicionam imagens dentro do gráfico. Preciso adicionar o logotipo da empresa no canto superior direito acima do gráfico - no nível do título.
Exemplo de adição de imagem usando annotate_custom:Inserindo uma imagem em ggplot2
ATUALIZAÇÃO: Seguindo as recomendações do user1317221_G, posso colocar a imagem fora.
library(png)
library(grid)
library(ggplot2)
img <- readPNG(system.file("img", "Rlogo.png", package="png"))
g <- rasterGrob(img, interpolate=TRUE)
plt <- qplot(1:10, 1:10, geom="blank") +
opts(title = 'Title') +
geom_point()
plt2 <- plt + annotation_custom(g, xmin=9, xmax=10, ymin=10.5, ymax=11.25)
gt <- ggplot_gtable(ggplot_build(plt2))
gt$layout$clip[gt$layout$name == "panel"] <- "off"
grid.draw(gt)
Eu gostaria de colocar a imagem automaticamente - determinar xmin / xmax e ymin / ymax automaticamente. Usando gráficos tradicionais, posso chamar par ('usr') e obter parâmetros gráficos, mas isso não é aplicável aos gráficos ggplot. Existe uma maneira fácil de determinar a área de plotagem em ggplot? Por exemplo, obtenha tamanhos de plt e plugue os valores para limites em plt2
UPDATE2: Este método também não funciona realmente se você usar lapidação. Por exemplo, eu gostaria de colocar o logotipo no canto direito no nível do título, no gráfico a seguir, e recebo erros se usar o método acima.
d <- ggplot(diamonds, aes(carat, price, fill = ..density..)) +
xlim(0, 2) +
stat_binhex(na.rm = TRUE) +
labs(title = 'Title') +
theme(aspect.ratio = 1) +
facet_wrap(~ color, scales = "free_x")