Plot sectors/annuli on a circular grid of 0 to 2*pi radians
Plot numeric values as sectors with optional annuli on a circular field in the directions defined by angles in radians.
radial.pie(radial.extents,sector.edges=NULL, sector.colors=NULL,cs1=c(0,1),cs2=c(0,1),cs3=c(0,1), alpha=1,labels=NA,label.pos=NULL,radlab=FALSE,start=0, clockwise=FALSE,label.prop=1.1,radial.lim=NULL,main="",xlab="",ylab="", mar=c(2,2,3,2),show.grid=TRUE,show.grid.labels=4,show.radial.grid=TRUE, grid.col="gray",grid.bg="transparent",grid.unit=NULL, radial.labels=NULL,boxed.radial=TRUE,add=FALSE,...)
radial.extents |
A numeric data vector or list. If radial.extents is a list, the elements of the list will be considered separate data vectors. |
sector.edges |
A numeric vector of positions in radians. These are interpreted as beginning at the right (0 radians) and moving counterclockwise unless clockwise is TRUE. |
sector.colors |
Optional colors for the sectors and annuli. Defaults to rainbow(nsectors) with fading outward if annuli are specified. |
cs1, cs2, cs3, alpha |
Color scaling arguments - see color.scale. |
labels |
Character strings to be placed at the outer ends of the lines. If set to NA, will suppress printing of labels, but if missing, the radial positions will be used. |
label.pos |
The positions of the labels around the plot in radians. |
radlab |
Whether to rotate the outer labels to a radial orientation. |
start |
Where to place the starting (zero) point. Defaults to the 3 o'clock position. |
clockwise |
Whether to interpret positive positions as clockwise from the starting point. The default is counterclockwise. |
label.prop |
The label position radius as a proportion of the maximum line length. |
radial.lim |
The inner and outer radial limits for the plot. Defaults to the range of radial.extents, although zero to max(radial.extents) is often what is wanted. |
main |
The title for the plot. |
xlab,ylab |
Normally x and y axis labels are suppressed. |
mar |
Margins for the plot. Allows the user to leave space for legends, long labels, etc. |
show.grid |
Logical - whether to draw a circular grid. |
show.grid.labels |
Whether and where to display labels for the grid - see Details. |
show.radial.grid |
Whether to draw radial lines to the plot labels. |
grid.col |
Color of the circular grid. |
grid.bg |
Fill color of above. |
grid.unit |
Optional unit description for the grid. |
radial.labels |
Optional labels for the radial grid. The default is the values of radial.lim. |
boxed.radial |
Whether to use boxed.labels or text for radial labels. |
add |
Whether to add one or more series to an existing plot. |
... |
Additional arguments are passed to plot. |
radial.pie displays a plot of radial sectors with optional annular sections centered at the midpoint of the plot frame, the lengths corresponding to the numeric magnitudes of radial.extents.
If more series are added to an existing plot, radial.pie will try to maintain the current plot parameters. However, it seems unlikely that adding series would be sensible in radial.pie. This argument may be dropped if it proves useless.
The size of the labels on the outside of the plot can be adjusted by setting par(cex.axis=) and that of the labels inside by setting par(cex.lab=). If radlab is TRUE, the labels will be rotated to a radial alignment. This may help when there are many values and labels. If some labels are still crowded, try running label.pos through the spreadout function. If the show.grid.labels argument is a number from 1 to 4, the labels will be placed along a horizontal or vertical radius. The numbers represent the same positions as in axis, with the default (4) on the right. To suppress these labels, pass zero or FALSE.
radial.pie works somewhat differently from the radial.plot family and is still under development. I have released it in order to get feedback to improve both the design and the programming. If successful, I hope to merge the code with the radial.plot function.
The par values that are changed in the function as they were at the time radial.pie was called.
Jim Lemon - thanks to Patrick Jemison for asking for it.
pie1<-c(3,6,5,4,7,8,9,1,4) pie2<-list(0:3,1:6,2:5,1:4,0:7,4:8,2:9,0:1,0:4) pie3<-sample(10:60,36) pie4<-list(sort(sample(1:60,8))) for(sector in 2:36) pie4[[sector]]<-sort(sample(1:60,8)) oldpar<-radial.pie(pie1,labels=LETTERS[1:9]) radial.pie(pie2,labels=letters[2:10]) radial.pie(pie3,labels=1:36) radial.pie(pie4,labels=1:36) # restore the par values par(oldpar)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.