users own pch (clip) in r [duplicate]
Asked Answered
F

2

11

Possible Duplicate:
How to use an image as a point in ggplot?

Is it possible to have user defined pch (clip art or icon or other type of file) used as point in R base or ggplot or other graphical device.

For example:

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

Here size is proportional to z.

Familiarity answered 31/12, 2012 at 14:18 Comment(1)
grImport seems interesting, I am interested to see how this can be used in this situation !Pompom
M
16

Using 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

Mag answered 31/12, 2012 at 15:45 Comment(3)
thanks agstudy for the solution, it seems a easier alternative to grImport (i am just struggling to understand)Familiarity
actually I would like to display axis label, the example I provided was hand drawn, I forgot to mention itFamiliarity
Type grid.axis() before grid.raster line. i am far from a pc to do it.Mag
L
3

For Base graphics look at the my.symbols and ms.image functions in the TeachingDemos package.

Legator answered 31/12, 2012 at 18:38 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.