Hello,
(You forgot to unlist() the result of strsplit.)
Another way, saving some space between characters is to use strheight().
rotate90 <- function(x, y, label){
label <- unlist(strsplit(label, ''))
y <- y - (seq_along(label) - 1)*strheight(label)
list(x=x, y=y, label=label)
}
txt <- rotate90(5, 5, "Test rotate90")
plot(1:10)
text(txt$x, txt$y, txt$label)
Rui Barradas
Em 12-06-2012 21:02, Greg Snow escreveu:
If you insert `\n` between each letter, then it should do what you
want with a single call to text or mtext. To expand on David's
example:
plot(1:10)
text(5,5, paste( strsplit(txvec, ''), collapse='\n') )
On Tue, Jun 12, 2012 at 10:16 AM, David Winsemius
<dwinsem...@comcast.net> wrote:
On Jun 12, 2012, at 9:49 AM, Stuart Rosen wrote:
For labelling a plot, I am trying to rotate a character string using
text() so that characters are upright and reading down, for example, ...
L
i
k
e
t
h
i
s
.
It appears that par crt does not work with text. Does anyone have any
other suggestions.
Just print the letters separately. Something like this untested use of
`mapply`:
mapply(text, labels=strsplit(txvec, ""),
x=1, # or some other appropriate number, should get recycled.
y=seq(start, end, length=nchar(txvec) )
--
David Winsemius, MD
West Hartford, CT
______________________________________________
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.