axTicks and window resizing
On Thu, 18 Aug 2005, Patrick Giraudoux wrote:
Dear listers,
I have written a function to facilitate the drawing of altitude profiles
with x (distance), y (altitude) and a z parameter (altitude magnification).
profplot<-function(x,y,z=10,...){
op <- par()$mai
par(mai=c(0.95625,0.76875,0.76875,0.95625))
plot(x,y*z, type="l",asp=1,las=1,xlab="",ylab="",yaxt="n",...)
axis(2,labels=axTicks(2)/z,las=1)
axis(4,labels=axTicks(2)/z,las=1)
on.exit(par(mai=op))
}
This worked apparently well until I had to resize the graphical window
after plotting. In this case, I get this message:
profplot(prof$dist,prof$alt,col="blue") Erreur : les longueurs de 'at' et de 'label' diff?rent, 7 != 8
Which means Error: length of 'at' and "label' differ, 7!=8 (whish R 2.1.1 could be parametrise 'English' even with a French Windows XP!!!!)
If I understand you correctly, it can. Just add LANGUAGE=en to the shortcut.
At this stage, R crashes (= I cannot get the graphic window working/resized and must interrupt the process from Windows XP, then restart R for good work with the graphical window). The error occur with the difference between the tick number computed from plot() and the one computed with axTicks(). If still equal (slight resizing) everything goes smoothly.
The problem is that you need to specify 'at' and 'labels' to axis(): you cannot safely specify just labels. When re-drawing, 'at' is recomputed, but your specification of 'labels' is not. I suspect you can just do dev.off() and open a new graphics window.
Thanks for any comments, even rude... (I am not sure the problem/programme has been tackled relevantly enough) Patrick
______________________________________________ R-help at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595