Learn R Programming

shape (version 1.1)

plotellipse: adds part of a colored and rotated ellipse to a plot

Description

adds (part of) a colored, and rotated ellipse to a plot; an arrow can be drawn at a specified position

Usage

plotellipse(rx=1, ry=0.2, mid=c(0,0), dr=0.01, 
  angle=0,from=-pi,to=pi,type="l", lwd=2,lcol="black",col=NULL,  
  arrow=FALSE, arr.length=0.4, arr.width=arr.length*0.5, 
  arr.type="curved",arr.pos=1,arr.code=2,arr.adj=0.5, 
  arr.col="black", ...)

Arguments

rx
long radius of ellipse
ry
short radius of ellipse
mid
midpoint of ellipse
dr
size of segments, in radians, to draw ellipse (decrease for smoother)
angle
rotation angle, degrees
from
starting angle for ellipse segment, radians
to
final angle for ellipse segment, radians
type
external line or points; "n" if no line
lwd
width of external line
lcol
line color
col
fill color
arrow
drawing arrowhead yes/no
arr.length
length of arrowhead
arr.width
width of arrowhead
arr.type
type of arrow
arr.pos
position of arrow, 0=start,1=end
arr.code
integer code determining kind of arrows to draw
arr.adj
adjustment of arrow
arr.col
color of arrow head
...
arguments passed to R-function "lines"

Details

rx and ry are the horizontal and vertical radiusses of the ellipses. Here "horizontal" and "vertical" denote the position BEFORE rotation if arrow is TRUE, an arrow is drawn along the path of the ellipse. arr.length and arr.width set the size of the arrow. The type of the arrowhead is set with "arr.type" which can take the values: \item"simple" : uses comparable R function arrows \item"triangle": uses filled triangle \item"curved" : draws arrowhead with curved edges \item"circle" : draws circular head arr.pos, a real value between 0 and 1 gives the position (0=start,1=end). arr.col specifies the color, arr.code specifies where the angle points to. arr.adj specifies the position adjustment - see Arrows for details

See Also

getellipse, filledellipse, plotcircle

Examples

Run this code
emptyplot(c(-1,1),main="plotellipse")
  plotellipse(rx=0.8,ry=0.3,angle=60,col="blue")
  plotellipse(rx=1.0,ry=0.6,angle=0,from=pi,to=2*pi,arrow=TRUE,
              arr.pos=seq(0.1,0.5,by=0.1),arr.col=rainbow(5))
  
  plotellipse(rx=1.0,ry=0.6,angle=30,from=pi,to=1.2*pi,col="red")

Run the code above in your browser using DataLab