2016-01-26 2 views

ответ

0

Вы можете сделать это с помощью plot и png

library(png) 
library(grid) 
library(ggplot2) 

img <- readPNG(system.file("img", "Rlogo.png", package="png")) 
g <- rasterGrob(img, interpolate=TRUE) 

qplot(x=sample(1:10,20,replace=TRUE), geom="blank") + 
    annotation_custom(g, xmin=4.5, xmax=5.5, ymin=3, ymax=4) + 
    geom_bar() 

, а также слегка расширенную версию, которая показывает - тот же самый пример, используя график - вычисляет местоположение изображения для определенного места

library(png) 
library(grid) 
library(ggplot2) 
img <- readPNG(system.file("img", "Rlogo.png", package="png")) 
g <- rasterGrob(img, interpolate=TRUE) 

p<- ggplot(data.frame(x=x), aes(x=x)) + 
    geom_bar() 

stats <- p$layers[[1]]$stat$compute_group(p$data) 

loc=5 
val=max(c(stats[stats$x==loc,]$count,0)) 
p+annotation_custom(g, xmin=loc-0.5, xmax=loc+0.5, ymin=val, ymax=val+1)+ylim(0,6) 

enter image description here

+0

qplot из какой упаковки? – GGA

+0

'ggplot' обновил код соответствующим образом. – CAFEBABE

+0

Я также добавил, как извлечь местоположение из графика для определенного бара – CAFEBABE

Смежные вопросы