[R] Computing line= for mtext

Frank Harrell f.harrell at vanderbilt.edu
Fri Mar 2 21:17:05 CET 2012


Hi Rich and Peter,

What I am trying to do is the right-justify a vector of numbers to the right
of the y-axis so that the leftmost digit of all of the numbers is one
character to the right of the axis line.  axis() plots tick marks and
left-justifies the numbers.

Peter's idea:
---------
Since you're setting your right margin to 5, why 
not just 

mtext(s, side=4, las=1, at=5, adj=1, line = 5, cex=1) 
mtext(s, side=4, las=1, at=7, adj=1, line = 5,  cex=2) 

i.e. set the line argument to the right margin? 
---------
comes close to what I'm trying to do but I haven't found out how to compute
"line" from the maximum width over all the strings in the vector being
plotted vertically, and I'm not sure it scales properly for different cex=. 
strwidth(s, units='inches')/par('cin')[1] doesn't seem to be a complete
solution.

Thanks
Frank


Richard M. Heiberger wrote
> 
> Frank,
> 
> this is it.  It uses Peter's idea.
> 
>  plot(1:10)
>  axis(side=2, 1:10, las=1, line=-31.5, lwd=0)
>  axis(side=4, 1:10, las=1, labels=FALSE)
> 
> Rich
> 
> 
> On Thu, Mar 1, 2012 at 6:52 PM, Frank Harrell <f.harrell@>wrote:
> 
>> Rich's pointers deals with lattice/grid graphics.  Does anyone have a
>> solution for base graphics?
>> Thanks
>> Frank
>>
>> Richard M. Heiberger wrote
>> >
>> > Frank,
>> >
>> > This can be done directly with a variant of the panel.axis function.
>> > See function panel.axis.right in the HH package.  This was provided for
>> me
>> > by David Winsemius in response to my query on this list in October 2011
>> > https://stat.ethz.ch/pipermail/r-help/2011-October/292806.html
>> >
>> > The email thread also includes comments by Deepayan Sarkar and Paul
>> > Murrell.
>> >
>> > Rich
>> >
>> > On Wed, Feb 29, 2012 at 8:48 AM, Frank Harrell <f.harrell@>wrote:
>> >
>> >> I want to right-justify a vector of numbers in the right margin of a
>> >> low-level plot.  For this I need to compute the line parameter to give
>> to
>> >> mtext.  Is this the correct scalable calculation?
>> >>
>> >> par(mar=c(4,3,1,5)); plot(1:20)
>> >> s <- 'abcde'; w=strwidth(s, units='inches')/par('cin')[1]
>> >> mtext(s, side=4, las=1, at=5, adj=1, line=w-.5, cex=1)
>> >> mtext(s, side=4, las=1, at=7, adj=1, line=2*(w-.5), cex=2)
>> >>
>> >> Thanks
>> >> Frank
>> >>
>> >> -----
>> >> Frank Harrell
>> >> Department of Biostatistics, Vanderbilt University
>> >> --
>> >> View this message in context:
>> >>
>> http://r.789695.n4.nabble.com/Computing-line-for-mtext-tp4431554p4431554.html
>> >> Sent from the R help mailing list archive at Nabble.com.
>> >>
>> >> ______________________________________________
>> >> R-help@ mailing list
>> >> https://stat.ethz.ch/mailman/listinfo/r-help
>> >> PLEASE do read the posting guide
>> >>
>> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html&gt<http://www.r-project.org/posting-guide.html&lt;http://www.r-project.org/posting-guide.html&gt>
>> ;
>> >> and provide commented, minimal, self-contained, reproducible code.
>> >>
>> >
>> >       [[alternative HTML version deleted]]
>> >
>> > ______________________________________________
>> > R-help@ mailing list
>> > https://stat.ethz.ch/mailman/listinfo/r-help
>> > PLEASE do read the posting guide
>> >
>> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html>
>> > and provide commented, minimal, self-contained, reproducible code.
>> >
>>
>>
>> -----
>> Frank Harrell
>> Department of Biostatistics, Vanderbilt University
>> --
>> View this message in context:
>> http://r.789695.n4.nabble.com/Computing-line-for-mtext-tp4431554p4436923.html
>>  Sent from the R help mailing list archive at Nabble.com.
>>
>> ______________________________________________
>> R-help@ mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html>
>> and provide commented, minimal, self-contained, reproducible code.
>>
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help@ 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.
> 

-----
Frank Harrell
Department of Biostatistics, Vanderbilt University
--
View this message in context: http://r.789695.n4.nabble.com/Computing-line-for-mtext-tp4431554p4439703.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list