donut | R Documentation |
Draw a donut chart.
donut( vec, eaten = 0, labels = NULL, rot = 0, cex = 0.8, tck = 0.05, width = 0.6, mycol = 1 + seq_along(vec), density = NULL, angle = 45, dt = 0.001, add = FALSE, cx = 0, cy = 0, border = NA, clockwise = TRUE, ... )
vec |
a vector of non-negative numerical quantities that are displayed as the areas of donut slices. |
eaten |
the eaten part. |
labels |
one or more expressions or character strings giving names for the slices. |
rot |
the rotation angle (in degree). |
cex |
the magnification coefficient to be used for the size of the donut. |
tck |
the magnification coefficient to be used for the length of the tick marks. |
width |
the width of the donut (set between 0 and 1). |
mycol |
vector of colors to be used. |
density |
the density of shading lines, in lines per inch. The
default value of |
angle |
the slope of shading lines, given as an angle in degrees (counter-clockwise). |
dt |
point density of the drawn circles. |
add |
a logical. Should the donut chart be added on the current graph?
If |
cx |
the magnification coefficient to be used for the total horizontal width of the donut. |
cy |
controls the total vertical width of the donut. |
border |
the border color of the donut, set to |
clockwise |
a logical. Shall slices be drawn clockwise? |
... |
additional arguments to be passed to lines methods. |
As pie chart, donut charts are a very bad way of displaying information,
see graphics::pie()
The aspect of the donut is fully customizable. If width
is set to 1 and
eaten
to 0, the donut chart is then a pie chart.
Substantial part of the code have been inspired by the pie
function.
The 'col' argument determines the succession of colors to be applied to each axis.
# Example 1: graphics::par(mfrow = c(2, 2), mar = rep(2, 4)) donut(vec = c(10, 20, 15)) donut(c(10, 20, 15), eaten = 0.2) donut(c(10, 20, 15), eaten = 0.2, rot = 180, labels = paste("group", 1:3), lwd = 3, col = 8) donut(c(10, 20, 15), 0.2, cx = 4, col = 4, mycol = c(4, 3, 2), density = 30, angle = c(20, 55, 110)) # Example 2: plot0(c(0, 10), c(0, 40), type = "n") vec <- runif(7) donut(vec, 0.15, cx = 5, cy = 20, add = TRUE, col = 2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.