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,width=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','lightgreen'
,'lightgreen','lightgreen','lightgray','lightgray','lightgray','lightgray','
lightgray','lightgray','lightgray','lightgray','lightgray','lightgray','ligh
tgray','lightgray','lightgray','lightgray','lightgray','lightgray','lightyel
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','yellow',
'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('lightyel
low','lightgray','lightgreen'),bty='n',pt.cex=2,pt.lwd=0.6,title='Faciologia
')
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.