[R] convert lines to inches
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Sun Oct 19 11:58:11 CEST 2008
Thomas Steiner wrote:
> Hi,
>
> how can I convert the unit "lines" of par("mar") into inches?
> par("mai") could help, but does not (see code below).
>
> I want to plot a curve in a predefined size in pdf (I add some margin
> space to the plot width&height, everything is in cm):
> pdf("test.pdf",width=(20+2+4)/2.54,height=(10+3+1)/2.54)
> plot(10:30, 9*cos(10:30),type="l",xlim=c(10,30),ylim=c(-10,15),xaxs="i",yaxs="i",asp=1)
> #par(mar=c(0,0,0,0))
> par(mai=c(2,3,4,1)/2.54)
> box("figure", col="darkblue")
> dev.off()
>
> The size of the darkblue box is fine, but I cannot yet control the
> size of the plot area (although
> http://research.stowers-institute.org/efg/R/Graphics/Basics/mar-oma/index.htm
> helped me a lot). And seeting the mar to zero (#) works in a R figure,
> but not in a pdf. Why?
>
> I already asked ("draw a 5cm x 3cm rectangle") a related question
> three days ago, but I was unable to get a more complicated example in
> the grid package (solution there) running.
Sorry, but I can't make heads or tails of this. You are not stating what
you intend to achieve, hence there is no way to see what you mean by "is
fine" or "doesn't work".
You have
> par("mar")/par("mai")
[1] 5 5 5 5
> par("csi")
[1] 0.2
> par("lheight")
[1] 1
which should give you a strong hint about the conversion. Also:
par("pin")+ rev(rowSums(matrix(par("mai"),2))) == par("fin")
(up to rounding error).
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list