Learn R Programming

shape (version 1.4.0)

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.

The ellipse is drawn from the point defined by from to the point defined as to which are joined anti-clockwise.

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:

  • "simple" : uses comparableRfunctionarrows.
  • "triangle": uses filled triangle.
  • "curved" : draws arrowhead with curved edges.
  • "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")
plotellipse(rx = 0.1, ry = 0.6, from = 1.5*pi, to = pi,
            lcol = "orange", mid = c(0.2,0.2))
plotellipse(rx = 0.1, ry = 0.6, angle = 30, from = 1.5*pi, to = pi,
            lcol = "orange", mid = c(0.2,0.2))

Run the code above in your browser using DataLab