Sorry, I will be more precise. Here is an example (simplified) of graph I want :

---- 8< ----

symboles <- c(3,4,5,6)
dn <- rbind(matrix(rnorm(20),5))
layout(matrix(c(1,1,1,2,2,3),3))

for(i in 1:3)
 matplot(dn,type="b",xlab="+: a  x: b  ???: c  ???: d",pch=symboles)
---- 8< ----

But instead of ???, I want the "triangle" and the "losange".
So I try to use legend in order to get the losange and triangle :

--- 8< ----

for(i in 1:3){
 matplot(dn,type="b",xlab="",pch=symboles)
 legend("top", pch = unique(listSymboles),
       legend = c("a","b","c","d"),
       inset = c(0,1.1), horiz = TRUE, xpd = NA)
}

--- 8< ----

On the first plot, the legend is down, on the second, the legend is on a correct position, on the third one, the legend in *on* the graduation. So my problem is to plot either a legend at a fixed distance from the graph or to put some symbol ("triangle", "losange" and all the other since I might have more than 4 curves) in the xlab.

Any solution ?

Thanks

Christophe





I suggested the use of grconvertY if you want to place something exactly n 
inches from the bottom, then grconvertY will give the user (or other) 
coordinates that match, or if you want to place something exactly 10% of the 
total device height from the bottom, etc.

What to do in replotting a graph afte a resize is usually tricky and requires 
information that the program does not have and therefore has to guess at, that 
is why it is safest to not depend on the computer doing the correct thing in a 
resize and just tell the users to resize/set size before calling your function.

If you give a bit more detail on what you are trying to accomplish and what you 
mean by fixed distance (number of inches, proportion of device height, margin 
row, etc.) we may be better able to help.

--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[EMAIL PROTECTED]
801.408.8111


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
project.org] On Behalf Of Christophe Genolini
Sent: Saturday, December 06, 2008 7:08 AM
To: Greg Snow
Cc: r-help@r-project.org
Subject: Re: [R] legend at fixed distance form the bottom

Thanks for your answer.

Unfortunatly, I can not create the graphice with the final size since I
am writing a package in wich the user will have to chose between
several
graphics, and then he will have to export one. And they might be one
graph, or 2x2, or 3x3...

I check the grconvertY but I did not understand what you suggest. To
me,
the use of legend can not work since every length in the legend box
(xlength, ylength, distance to axes) will change when resizing the
graph. I was more expecting something like introduce the symbols used
in
the graph *in* the xlab. Is it possible ?

Christophe

It is best to create the graphics device at the final size desired,
then do the plotting and add the legend.  For getting a fixed distance,
look at the function grconvertY for one possibility.
--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[EMAIL PROTECTED]
801.408.8111



-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
project.org] On Behalf Of Christophe Genolini
Sent: Friday, December 05, 2008 6:40 AM
To: r-help@r-project.org
Subject: [R] legend at fixed distance form the bottom

Hi the list

I would like to add a legend under a graph but at a fixed distance
from
the graphe. Is it possible ?
More precisely, here is my code :

--- 8< ----
symboles <- c(3,4,5,6)
dn <- rbind(matrix(rnorm(20),,5),matrix(rnorm(20,2),,5))
listSymboles <- rep(symboles,each=2)
matplot(t(dn),pch=listSymboles,type="b")
legend("bottom", pch = unique(listSymboles), legend = c("ane",
"cheval",
"poney", "mule"), inset = c(0,-0.175), horiz = TRUE, xpd = NA)
--- 8< ----

But when I change the size of the graph, the legend is misplaced.

Instead, I try to put some text in xlab, but I do not know how to
get
the +, x , V and other symbol.
Does anyone got a solution ?

Thanks a lot.

Christophe

______________________________________________
R-help@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@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@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.

Reply via email to