Re: [R] Positioning text in top left corner of plot

2012-02-07 Thread Manta
Dear all,

another questions related to zoo plotting. I would like to do as in the
subject. Here a reproducible code:

library(zoo)
par(mfrow=c(2,1)
plot(zoo(seq(1:10),as.Date(seq(1:10),origin=1970-01-01)),xlab=,ylab=,main=Value,las=1)
mtext(EUR billions,adj=0,cex=0.7)
plot(zoo(seq(1:10),as.Date(seq(1:10),origin=1970-01-01)),xlab=,ylab=,main=Value,las=1)
par(xpd=T)
text(par(usr)[1],par(usr)[3]+10.5,EUR billions,cex=0.7)

In the first graph I use the mtext function, which does the trick but it
places the text too close too the y-axis.
A second possibility is to use the text function, prior specification of the
option parameter par(xpd=T). However, this does not look consistent as,
depending on the graph, I would need to add different numbers in the y
specification of the axis (par(usr)[3]+XXX).

Any idea?

--
View this message in context: 
http://r.789695.n4.nabble.com/Positioning-text-in-top-left-corner-of-plot-tp831723p4364355.html
Sent from the R help mailing list archive at Nabble.com.

__
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.


Re: [R] Positioning text in top left corner of plot

2012-02-07 Thread Benno Pütz
Regarding example 1:
mtext has a line parameter that should help you

example 2:
using

 text(par(usr)[1],par(usr)[4],EUR billions,cex=0.7,adj=c(0,-1.5))

does not depend on the axis (values/range) beyond par('usr')

With 

 text(par(usr)[1], …

you get something closer to your second example, will however not write outside 
your plot for long texts


Benno

On Feb 7, 2012, at 12:06 PM, Manta wrote:

 Dear all,
 
 another questions related to zoo plotting. I would like to do as in the
 subject. Here a reproducible code:
 
 library(zoo)
 par(mfrow=c(2,1))
 plot(zoo(seq(1:10),as.Date(seq(1:10),origin=1970-01-01)),xlab=,ylab=,main=Value,las=1)
 mtext(EUR billions,adj=0,cex=0.7)
 plot(zoo(seq(1:10),as.Date(seq(1:10),origin=1970-01-01)),xlab=,ylab=,main=Value,las=1)
 par(xpd=T)
 text(par(usr)[1],par(usr)[3]+10.5,EUR billions,cex=0.7)
 
 In the first graph I use the mtext function, which does the trick but it
 places the text too close too the y-axis.
 A second possibility is to use the text function, prior specification of the
 option parameter par(xpd=T). However, this does not look consistent as,
 depending on the graph, I would need to add different numbers in the y
 specification of the axis (par(usr)[3]+XXX).
 
 Any idea?
 
 --
 View this message in context: 
 http://r.789695.n4.nabble.com/Positioning-text-in-top-left-corner-of-plot-tp831723p4364355.html
 Sent from the R help mailing list archive at Nabble.com.
 
 __
 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.
 

Benno Pütz
Statistical Genetics
MPI of Psychiatry
Kraepelinstr. 2-10
80804 Munich, Germany
T: ++49-(0)89-306 22 222
F: ++49-(0)89-306 22 601




[[alternative HTML version deleted]]

__
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.


Re: [R] Positioning text in top left corner of plot

2012-02-07 Thread Manta
Thanks, although I still have a couple of questions:

1. What is the line parameter? I could not find it in the manual...

2. How does exactly work the adj parameter when giving two different values?

--
View this message in context: 
http://r.789695.n4.nabble.com/Positioning-text-in-top-left-corner-of-plot-tp831723p4364757.html
Sent from the R help mailing list archive at Nabble.com.

__
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.


Re: [R] Positioning text in top left corner of plot

2012-02-07 Thread Benno Pütz
Both are described in the documentation (?(m)text works for me):

Usage

mtext(text, side = 3, line = 0, outer = FALSE, at = NA,
  adj = NA, padj = NA, cex = NA, col = NA, font = NA, ...)

Arguments


texta character or expression vector specifying the text to be 
written. Other objects are coerced by as.graphicsAnnot.
sideon which side of the plot (1=bottom, 2=left, 3=top, 4=right).
lineon which MARgin line, starting at 0 counting outwards.
[…]

actually, line does accept fractional values , e.g. line=.5 should work for you 

and 

Usage

text(x, ...)

## Default S3 method:
 text(x, y = NULL, labels = seq_along(x), adj = NULL,
 pos = NULL, offset = 0.5, vfont = NULL,
 cex = 1, col = NULL, font = NULL, ...)

Arguments

x, ynumeric vectors of coordinates where the text labels should be 
written. If the length of x and y differs, the shorter one is recycled.
labels  a character vector or expression specifying the text to be written. An 
attempt is made to coerce other language objects (names and calls) to 
expressions, and
vectors and other classed objects to character vectors by 
as.character. If labels is longer than x and y, the coordinates are recycled to 
the length of labels.
adj one or two values in [0, 1] which specify the x (and optionally 
y) adjustment of the labels. On most devices values outside that interval will 
also work.
[…]

Hope the formatting comes out OK…

Benno

On Feb 7, 2012, at 2:49 PM, Manta wrote:

 Thanks, although I still have a couple of questions:
 
 1. What is the line parameter? I could not find it in the manual...
 
 2. How does exactly work the adj parameter when giving two different values?
 
 --
 View this message in context: 
 http://r.789695.n4.nabble.com/Positioning-text-in-top-left-corner-of-plot-tp831723p4364757.html
 Sent from the R help mailing list archive at Nabble.com.
 
 __
 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.
 

Benno Pütz
Statistical Genetics
MPI of Psychiatry
Kraepelinstr. 2-10
80804 Munich, Germany
T: ++49-(0)89-306 22 222
F: ++49-(0)89-306 22 601

__
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.


Re: [R] Positioning text in top left corner of plot

2012-02-07 Thread Manta
Thanks, mtext with option 'line' does the trick. I could not see that option
in my version of R, but it appeared when I installed it again.

--
View this message in context: 
http://r.789695.n4.nabble.com/Positioning-text-in-top-left-corner-of-plot-tp831723p4365088.html
Sent from the R help mailing list archive at Nabble.com.

__
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.


Re: [R] Positioning text in top left corner of plot

2012-02-07 Thread 538280
You might want to look at the grconvertX and grconvertY functions.
You can use them to convert a coordinate relative to the plotting
device (screen, paper) or plotting region to user coordinates to use
with text or mtext.

On Tue, Feb 7, 2012 at 4:06 AM, Manta mantin...@libero.it wrote:
 Dear all,

 another questions related to zoo plotting. I would like to do as in the
 subject. Here a reproducible code:

 library(zoo)
 par(mfrow=c(2,1)
 plot(zoo(seq(1:10),as.Date(seq(1:10),origin=1970-01-01)),xlab=,ylab=,main=Value,las=1)
 mtext(EUR billions,adj=0,cex=0.7)
 plot(zoo(seq(1:10),as.Date(seq(1:10),origin=1970-01-01)),xlab=,ylab=,main=Value,las=1)
 par(xpd=T)
 text(par(usr)[1],par(usr)[3]+10.5,EUR billions,cex=0.7)

 In the first graph I use the mtext function, which does the trick but it
 places the text too close too the y-axis.
 A second possibility is to use the text function, prior specification of the
 option parameter par(xpd=T). However, this does not look consistent as,
 depending on the graph, I would need to add different numbers in the y
 specification of the axis (par(usr)[3]+XXX).

 Any idea?

 --
 View this message in context: 
 http://r.789695.n4.nabble.com/Positioning-text-in-top-left-corner-of-plot-tp831723p4364355.html
 Sent from the R help mailing list archive at Nabble.com.

 __
 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.



-- 
Gregory (Greg) L. Snow Ph.D.
538...@gmail.com

__
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.