[R-sig-teaching] plot an angle of 450 degrees and adding a circular arrow to it

Albyn Jones jones at reed.edu
Tue Oct 21 20:44:19 CEST 2014


you want the lines() function, not abline()

albyn

On Tue, Oct 21, 2014 at 11:30 AM, Steven Stoline <sstoline at gmail.com> wrote:

> Dear Jones:
>
> Could you please look to this R code. I am trying to graph both
> sin(x+pi/6) and sin(x) in the same plot to show the shift. I used abline to
> graph the sin(x), but it looked like same as the x-axis.
>
>
> x<-seq(-2.2*pi,2*pi,0.01)
> y<-sin(x+pi/6)
>
>
> #### To draw a box of the graph:
> #### ==========================
>
> plot(0:10, 0:10, type = "n", xaxt = "n", yaxs = "i", xaxs = "i", yaxt =
> "n", xlab = "", ylab = "")
>
> plot(x, y, type='l', lwd = 3,  col="red", xaxt = "n", xlab="", ylab="")
>
>
>
> #### abline(v=c(-4*pi,-(7*pi)/2,-3*pi,-(5*pi)/2,-2*pi,-(3*pi)/2,-pi,-pi/2,
> 0,pi/2,pi,(3*pi)/2,2*pi,(5*pi)/2,3*pi,(7*pi)/2,4*pi),col="blue")
>
>
> abline(h=0, lwd=3)
> abline(v=0, lwd=3)
>
>
> x1<-seq(0,2*pi,0.01)
> y1<-sin(x1)
> abline(x1,y1, lwd = 3)
>
>
> thank you very much
> Steven
>
>
> On Mon, Oct 20, 2014 at 1:08 PM, Steven Stoline <sstoline at gmail.com>
> wrote:
>
>> Many thanks
>>
>> it works
>>
>> Steven
>>
>> On Mon, Oct 20, 2014 at 11:17 AM, Albyn Jones <jones at reed.edu> wrote:
>>
>>> Here is a quickly written and barely tested function.  You might want to
>>> add a final position vector,
>>> color, lwd, lty, etc.  It assumes the angle is given in degrees, and
>>> checks the sign of the angle to draw
>>> in the correct direction.
>>>
>>> albyn
>>> =====================================================================
>>>
>>> DrawAngle  <- function(theta,r=1){
>>>     # assumes angles given in degrees, not radians
>>>     theta <- 2*pi*theta/360
>>>     plot(0,0, xlim=c(-2,2),ylim=c(-2,2))
>>>     abline(h=0)
>>>     abline(v=0)
>>>     sgn <- 1
>>>     if(theta <0) {
>>>         sgn  <- -1
>>>         theta <- -theta
>>>         }
>>>     Theta <-  sgn*seq(0,theta,.01)
>>>     if(theta > 2*pi) r <- seq(1,1.1,along.with=Theta)
>>>     x <- r*cos(Theta)
>>>     y <- r*sin(Theta)
>>>     lines(x,y)
>>>     n <- length(x)
>>>     arrows(x[n-1],y[n-1],x[n],y[n])
>>> }
>>>
>>> On Mon, Oct 20, 2014 at 1:47 AM, Steven Stoline <sstoline at gmail.com>
>>> wrote:
>>>
>>>> Dear All:
>>>>
>>>> I am wondering if someone can show me how to plot an angles around the
>>>> center of a unit circle with x-y vertices added to it.
>>>>
>>>> Also how to add arrows showing the size and the direction of angle(s).
>>>>
>>>> Examples: 135 degrees and 450 degrees angles.
>>>>
>>>> with many thanks
>>>> Steven
>>>>
>>>> --
>>>> Steven M. Stoline
>>>> 1123 Forest Avenue
>>>> Portland, ME 04112
>>>> sstoline at gmail.com
>>>>
>>>>         [[alternative HTML version deleted]]
>>>>
>>>> _______________________________________________
>>>> R-sig-teaching at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-teaching
>>>>
>>>
>>>
>>
>>
>> --
>> Steven M. Stoline
>> 1123 Forest Avenue
>> Portland, ME 04112
>> sstoline at gmail.com
>>
>
>
>
> --
> Steven M. Stoline
> 1123 Forest Avenue
> Portland, ME 04112
> sstoline at gmail.com
>

	[[alternative HTML version deleted]]



More information about the R-sig-teaching mailing list