2012-12-31 14 views
11

thể trùng lặp:
How to use an image as a point in ggplot?người dùng pch riêng (clip) trong r

Có thể có người dùng định nghĩa pch (clip nghệ thuật hoặc biểu tượng hoặc các loại tập tin) được sử dụng như điểm trong cơ sở R hoặc ggplot hoặc thiết bị đồ họa khác.

Ví dụ:

enter image description here

set.seed(123) 
mydt <- data.frame (x = rnorm(5, 5,2), y = rnorm (5,10,3), z = rnorm (5, 1,0.5)) 

enter image description here

Đây kích thước tỷ lệ với z.

+0

grImport có vẻ thú vị, tôi quan tâm để xem cách điều này có thể được sử dụng trong tình huống này! – shNIL

Trả lời

16

Sử dụng grid.raster

library(png) 
flower <- readPNG("flower.png") 
pushViewport(plotViewport(margins=c(5,5,5,5))) 
grid.rect(gp = gpar(fill=NA)) 
pushViewport(plotViewport(margins=c(5,5,5,5), 
          xscale=extendrange(mydt$x), 
          yscale=extendrange(mydt$y))) 


grid.raster(image=flower,x=mydt$x,y=mydt$y,width=mydt$z, 
       interpolate=FALSE,default.units = 'native') 
grid.polyline(mydt$x,mydt$y,default.units='native') 
upViewport(2) 

enter image description here

+0

nhờ agstudy cho giải pháp, có vẻ như một thay thế dễ dàng hơn cho grImport (tôi chỉ đang đấu tranh để hiểu) – jon

+0

thực sự tôi muốn hiển thị nhãn trục, ví dụ tôi cung cấp được vẽ tay, tôi quên đề cập đến nó – jon

+1

Loại grid.axis() trước dòng grid.raster. tôi xa máy tính để làm điều đó. – agstudy

3

Đối với đồ họa cơ sở xem xét các my.symbolsms.image chức năng trong gói TeachingDemos.