Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow at imail.org
801.408.8111
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Rodrigo Aluizio
> Sent: Wednesday, March 11, 2009 4:22 AM
> To: 'Yihui Xie'
> Cc: R Help
> Subject: [R] RES: North Arrow (.png file) on a Map
>
> Thanks a lot Yihui, It's perfect, in fact exactly identical the I have
> as a
> png file in my computer.
> Thank you so much.
>
> Regards
> Rodrigo
>
> -----Mensagem original-----
> De: Yihui Xie [mailto:xieyihui at gmail.com]
> Enviada em: quarta-feira, 11 de mar?o de 2009 02:48
> Para: Rodrigo Aluizio
> Cc: R Help
> Assunto: Re: [R] North Arrow (.png file) on a Map
>
> Is this "arrow" satisfactory for you?
>
> north.arrow = function(x, y, h) {
> polygon(c(x, x, x + h/2), c(y - h, y, y - (1 + sqrt(3)/2) * h),
> col = "black", border = NA)
> polygon(c(x, x + h/2, x, x - h/2), c(y - h, y - (1 + sqrt(3)/2) *
> h, y, y - (1 + sqrt(3)/2) * h))
> text(x, y, "N", adj = c(0.5, 0), cex = 4)
> }
> plot(1, type = "n", ylim = c(0, 1))
> north.arrow(1, 0.8, 0.3)
>
> Regards,
> Yihui
> --
> Yihui Xie <xieyihui at gmail.com>
> Phone: +86-(0)10-82509086 Fax: +86-(0)10-82509086
> Mobile: +86-15810805877
> Homepage: http://www.yihui.name
> School of Statistics, Room 1037, Mingde Main Building,
> Renmin University of China, Beijing, 100872, China
>
>
>
> On Tue, Mar 10, 2009 at 7:21 PM, Rodrigo Aluizio <r.aluizio at gmail.com>
> wrote:
> > Hi list.
> >
> > I would like to know how do I insert a North arrow, stored as a png
> file
> in
> > my computer, in a map? I found lots of post asking similar things,
> one of
> > them mentioned the pixmap package. ?The map was done using map() and
> > shapefiles (the code is below). I'm using the pixmap () and addlogo()
> > functions. Well I can import the png with pixmap() function (I guess,
> once
> > there's no error message), but I can't put It on the map, I got an
> error
> > message telling me that:
> >
> >
> >
> > "Error at t(x at index[nrow(x at index):1, , drop = FALSE]) :
> >
> > ?index out of limits"
> >
> >
> >
> > Well I tried changing coordinates but I always got the same result.
> How do
> I
> > do this correctly? Is there a better way?
> >
> >
> >
> > Thanks for the help and attention.
> >
> >
> >
> > Here is the complete map script:
> >
> >
> >
> > library(RODBC)
> >
> > library(maps)
> >
> > library(mapdata)
> >
> > library(maptools)
> >
> > library(pixmap)
> >
> > #Carregar Coordenadas e dados dos Pontos Amostrais
> >
> > Dados<-odbcConnectExcel('Campos.xls',readOnly=T)
> >
> > Coord<-sqlFetch(Dados,'CoordMed',colnames=F,rownames='Ponto')
> >
> > odbcClose(Dados)
> >
> > N<-pixmap('Norte.png',nrow=166,ncol=113)
> >
> > # Carregar pontos e shapes
> >
> >
> Batimetria<-
> readShapeSpatial('C:/Users/Rodrigo/Documents/UFPR/Micropaleontol
> > ogia/Campos/ShapeFiles/Batimetria_BC.shp')
> >
> >
> Estados<-
> readShapeSpatial('C:/Users/Rodrigo/Documents/UFPR/Micropaleontologi
> > a/Campos/ShapeFiles/Estados_Sudeste.shp')
> >
> >
> Faciologia<-
> readShapeSpatial('C:/Users/Rodrigo/Documents/UFPR/Micropaleontol
> > ogia/Campos/ShapeFiles/Faciologia_BC.shp')
> >
> > # Mapa com os Pontos da Bacia
> >
> >
> postscript('MapaCampos.eps',paper='special',onefile=F,horizontal=F,widt
> h=3.5
> > ,height=4.5,bg='white',pointsize=3)
> >
> > par(mar=c(3,2,2,0))
> >
> >
> map('worldHires','brazil',ylim=c(23.9,20.3),xlim=c(42.1,39.2),type='n')
> >
> >
> plot(Faciologia,ylab='',xlab='',col=c('lightgreen','lightgreen','lightg
> reen'
> >
> ,'lightgreen','lightgreen','lightgray','lightgray','lightgray','lightgr
> ay','
> >
> lightgray','lightgray','lightgray','lightgray','lightgray','lightgray',
> 'ligh
> >
> tgray','lightgray','lightgray','lightgray','lightgray','lightgray','lig
> htyel
> > low','lightyellow','lightyellow'),add=T,lwd=0.5,border=0)
> >
> >
> plot(Batimetria,ylab='',xlab='',col='darkgray',lty='solid',lwd=0.2,add=
> T)
> >
> > plot(Estados,ylab='',xlab='',lty='solid',add=T,lwd=0.8)
> >
> >
> text(Coord$Longitude[Coord$R?plicas=='1'],Coord$Latitude[Coord$R?plicas
> =='1'
> > ],rownames(Coord)[Coord$R?plicas=='1'],col='red',cex=0.5,font=2)
> >
> >
> text(Coord$Longitude[Coord$R?plicas=='2'],Coord$Latitude[Coord$R?plicas
> =='2'
> > ],rownames(Coord)[Coord$R?plicas=='2'],col='yellow',cex=0.5,font=2)
> >
> >
> text(Coord$Longitude[Coord$R?plicas=='3'],Coord$Latitude[Coord$R?plicas
> =='3'
> > ],rownames(Coord)[Coord$R?plicas=='3'],col='blue',cex=0.5,font=2)
> >
> > points(Coord$Longitude,Coord$Latitude-0.045,pch=20,cex=0.7)
> >
> > text(c(41.5,41.3),c(21.7,20.6),c('RJ','ES'))
> >
> > axis(1,xaxp=c(42.1,39.2,2),cex.axis=1)
> >
> > axis(2,yaxp=c(23.9,20.3,4),cex.axis=1)
> >
> > title(main='Bacia')
> >
> >
> legend(40.2,23.5,c('Uma','Duas','Tr?s'),pch=21,cex=1,pt.bg=c('red','yel
> low',
> > 'blue'),bty='n',pt.cex=2,pt.lwd=0.6,title='R?plicas')
> >
> >
> legend(39.8,23.5,c('Areia','Calc?rio','Lama'),pch=21,cex=1,pt.bg=c('lig
> htyel
> >
> low','lightgray','lightgreen'),bty='n',pt.cex=2,pt.lwd=0.6,title='Facio
> logia
> > ')
> >
> > addlogo(N,px=c(40,39.8),py=c(21,20.8))
> >
> > dev.off()
> >
> > q('no')
> >
> >
> >
> > -------------------------------------------------------------
> >
> > MSc. Rodrigo Aluizio <mailto:r.aluizio at gmail.com>
> >
> > Centro de Estudos do Mar/UFPR
> > Laborat?rio de Micropaleontologia
> >
> >
> > ? ? ? ?[[alternative HTML version deleted]]
> >
> >
> > ______________________________________________
> > R-help at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> >
> >
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-
> guide.html
> and provide commented, minimal, self-contained, reproducible code.