2017-05-19 22 views
2

画像にプロットする必要があります。私が持っている問題は、私のPNGイメージがグリッドに調整していないということです。画像サイズをggplot2グリッドに調整してください。

library(webshot) 
library(png) 
webshot("http://www.doctormetrics.com/","doctor.png") 
img <- readPNG("doctor.png") 
dim(img) 
x11() 
g <- rasterGrob(img, interpolate=TRUE) 
qplot(1:2, 1:2, geom="blank") + 
    annotation_custom(g, xmin=-Inf, xmax=Inf, ymin=-Inf, ymax=Inf) + 
    geom_point() 

enter image description here

+0

を行うことができますあなたが 'unit(1、" npc ")'のように幅と高さを指定するのに必要なアスペクト比の制約 – baptiste

+0

@baptisteに感謝します。 –

答えて

1

あなたはrasterGrobをせずに拡張したい場合は、

library(webshot) 
library(png) 
library(ggplot2) 
library(grid) 
webshot("http://www.doctormetrics.com/",tf<-tempfile(fileext = ".png")) 
img <- readPNG(tf) 
g <- rasterGrob(img, interpolate=TRUE, height = 1, width = 1) 
ggplot() + 
    annotation_custom(g, xmin=1, xmax=2, ymin=1, ymax=2) + 
    geom_point(aes(x,y), data.frame(x=1:2, y=1:2)) + 
    coord_fixed(ratio = nrow(img)/ncol(img)) 

enter image description here

+0

それは、ありがとう@lukeA –

関連する問題