Learn R Programming

DescTools (version 0.99.19)

PlotCirc: Plot Circular Plot

Description

This visualising scheme represents the unidirectional relationship between the rows and the columns of a contingency table.

Usage

PlotCirc(tab, acol = rainbow(sum(dim(tab))), aborder = "darkgrey", rcol = SetAlpha(acol[1:nrow(tab)], 0.5), rborder = "darkgrey", gap = 5, main = "", labels = NULL, cex.lab = 1.0, las = 1, adj = NULL, dist = 2)

Arguments

tab
a table to be visualised.

acol
the colors for the peripheral annuli.

aborder
the border colors for the peripheral annuli.

rcol
the colors for the ribbons.

rborder
the border colors for the ribbons.

gap
the gap between the entities in degrees.

main
the main title, defaults to "".

labels
the labels. Defaults to the column names and rownames of the table.

las
alignment of the labels, 1 means horizontal, 2 radial and 3 vertical.

adj
adjustments for the labels. (Left: 0, Right: 1, Mid: 0.5)

dist
gives the distance of the labels from the outer circle. Default is 2.
cex.lab
the character extension for the labels.

Value

Details

The visual scheme of representing relationships can be applied to a table, given the observation that a table cell is a relationship (with a value) between a row and column. By representing the row and columns as segments along the circle, the information in the corresponding cell can be encoded as a link between the segments. In general, the cell represents a unidirectional relationship (e.g. row->column) - in this relationship the role of the segments is not interchangeable (e.g. (row,col) and (col,row) are different cells). To identify the role of the segment, as a row or column, the ribbon is made to terminate at the row segment but slightly away from the column segment. In this way, for a given ribbon, it is easy to identify which segment is the row and which is the column.

References

Inspired by http://circos.ca/presentations/articles/vis_tables1/

See Also

PlotPolar

Examples

Run this code
tab <- matrix(c(2,5,8,3,10,12,5,7,15), nrow=3, byrow=FALSE)
dimnames(tab) <- list(c("A","B","C"), c("D","E","F"))
tab


PlotCirc( tab,
  acol = c("dodgerblue","seagreen2","limegreen","olivedrab2","goldenrod2","tomato2"),
  rcol = SetAlpha(c("red","orange","olivedrab1"), 0.5)
)

tab <- table(d.pizza$weekday, d.pizza$operator)
par(mfrow=c(1,2))
PlotCirc(tab, main="weekday ~ operator")
PlotCirc(t(tab), main="operator ~ weekday")

Run the code above in your browser using DataLab