[R] Plot alignment with mtext
Kevin Burton
rkevinburton at charter.net
Tue Nov 15 21:22:11 CET 2011
I hadn't considered altering the font. Thank you I will try that.
-----Original Message-----
From: Sarah Goslee [mailto:sarah.goslee at gmail.com]
Sent: Tuesday, November 15, 2011 1:53 PM
To: Kevin Burton
Cc: r-help at r-project.org
Subject: Re: [R] Plot alignment with mtext
Hi Kevin,
On Tue, Nov 15, 2011 at 2:36 PM, Kevin Burton <rkevinburton at charter.net>
wrote:
> I would like the text plotted with 'mtext' to be alighned like it is
> for printing on the console. Here is what I have:
You don't provide any of the info in the posting guide (OS may be important
here), or a reproducible example, which would also be helpful.
But see below anyway.
>
>
>> print(emt)
>
> ME RMSE MAE MPE
> MAPE MASE
>
> original -1.034568e+07 1.097695e+08 2.433160e+07 -31.30554 37.47713
> 1.5100050
>
> xreg 1.561235e+01 2.008599e+03 9.089473e+02 267.05490 280.66734
> 0.9893643
>
>
>
>> a <- capture.output(print(emt))
>
>> a
>
> [1] " ME RMSE MAE MPE
> MAPE MASE"
>
> [2] "original -1.034568e+07 1.097695e+08 2.433160e+07 -31.30554
> 37.47713 1.5100050"
>
> [3] "xreg 1.561235e+01 2.008599e+03 9.089473e+02 267.05490
> 280.66734 0.9893643"
>
>
>
> There are no tabs but when adding to a plot with mtext like:
>
>
>
> op <- par(mfcol = c(2, 1), oma=c(0,0,4,0))
>
> . . . . .
>
> a <- capture.output(print(emt))
>
> mtext(a[1], line= 1, side=3, outer=TRUE)
>
> mtext(a[2], line= 0, side=3, outer=TRUE)
>
> mtext(a[3], line=-1, side=3, outer=TRUE)
>
>
> The plotted text is not aligned like when it is displayed on the
> console. I have looked at the strings and they all have the same
> length so it seems that mtext is doing something with the spaces so
> that the output is not aligned. Any ideas on how I can get it aligned (by
column)?
The default font used for titles is not proportionally spaced, at least on
my linux system, so of course they won't line up.
Try:
a <- c(" ME RMSE MAE MPE
MAPE MASE",
"original -1.034568e+07 1.097695e+08 2.433160e+07 -31.30554 37.47713
1.5100050",
"xreg 1.561235e+01 2.008599e+03 9.089473e+02 267.05490 280.66734
0.9893643")
par(mfcol=c(2,1), oma=c(0,0,4,0))
plot(1:10, 1:10)
plot(1:10, 1:10)
par(family="mono")
mtext(a[1], line= 1, side=3, outer=TRUE) mtext(a[2], line= 0, side=3,
outer=TRUE) mtext(a[3], line=-1, side=3, outer=TRUE)
Or whatever the appropriate font family specification for your OS is.
Sarah
--
Sarah Goslee
http://www.functionaldiversity.org
More information about the R-help
mailing list