-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
project.org] On Behalf Of Christophe Genolini
Sent: Monday, December 08, 2008 11:28 AM
To: Greg Snow
Cc: r-help@r-project.org
Subject: Re: [R] legend at fixed distance form the bottom
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.