Re: [R] Positioning text in top left corner of plot
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
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
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
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
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
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.