Re: [R] Rotated text on a regression line

From: Charles C. Berry <cberry_at_tajo.ucsd.edu>
Date: Tue, 27 May 2008 15:03:50 -0700

On Tue, 27 May 2008, Xiaohui Chen wrote:

> Note that the scale of x-axis and y-axis is different in your plot. One
> simple way to avoid this is to keep the data unit in the x direction is equal
> that in the y direction, by setting asp=1 in calling plot function.

Or when that is not possible or not desirable translate the slope to the device scales:

usr2dev <- function(x) 180/pi*atan(x * diff( par("usr")[1:2])/ diff(par("usr")[3:4])) text(2,yval,"Regression", srt=usr2dev( slope ), adj=0)

HTH, Chuck

>
> X
>
> Dr. Christoph Scherber 写道:
>> Dear all,
>>
>> I stumbled over a problem recently when trying to use srt with text() on a
>> windows device.
>>
>> What I intended to do was to plot a simple regression line, and to rotate
>> a piece of text such that the text has the same angle as the regression
>> line.
>>
>> However, the text is always plotted in a slightly wrong angle:
>>
>> ####
>>
>> x=1:10 #create arbitrary x and y values
>> y=x*2-rnorm(1:10)
>>
>> plot(x,y,pch=16,xlim=c(0,10)) #create the graph
>> abline(lm(y~x))
>>
>> #calculate the y coordinate of the text:
>> yval=predict(lm(y~x),list(x=rep(2,length(x))))[1]
>>
>> #calculate the slope:
>> slope=as.numeric(lm(y~x)[[1]][2])
>>
>> text(2,yval,"Regression",srt=180/pi*atan(slope),adj=0)
>>
>> ####
>>
>> What am I doing wrong here?
>>
>> Many thanks in advance for any help!
>>
>> Best wishes
>> Christoph
>>
>> (using R 2.6.1 on Windows XP)
>>
>> ______________________________________________
>> R-help_at_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_at_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.
>
>

Charles C. Berry                            (858) 534-2098
                                             Dept of Family/Preventive Medicine
E mailto:cberry_at_tajo.ucsd.edu	            UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901



R-help_at_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. Received on Tue 27 May 2008 - 22:36:33 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 28 May 2008 - 00:30:47 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive