PlotBubble {DescTools} | R Documentation |
Draw a Bubble Plot
Description
Draw a bubble plot, defined by a pair of coordinates x, y to place the bubbles, an area
definition configuring the dimension and a color vector setting the color of the bubbles.
The legitimation to define a new function instead of just using plot(symbols(...))
is the automated calculation of the axis limits, ensuring that
all bubbles will be fully visible.
Usage
PlotBubble(x, ...)
## Default S3 method:
PlotBubble(x, y, area, col = NA, cex = 1, border = par("fg"),
xlim = NULL, ylim = NULL, na.rm = FALSE, ...)
## S3 method for class 'formula'
PlotBubble(formula, data = parent.frame(), ..., subset, ylab = varnames[response])
Arguments
x , y |
the x and y co-ordinates for the centres of the bubbles. They can be specified in any way which is accepted by |
area |
a vector giving the area of the bubbles. |
col |
colors for the bubbles, passed to |
cex |
extension factor for the area. |
border |
the border color fot the bubbles. The default means |
xlim , ylim |
axes limits. |
na.rm |
logical, should NAs be omitted? Defaults to FALSE. |
formula |
a formula of the form |
data |
an optional matrix or data frame (or similar: see |
subset |
an optional vector specifying a subset of observations to be used. |
ylab |
the y-label for the plot used in the formula interface. |
... |
the dots are passed to the |
Details
Argument inches
controls the sizes of the symbols. If TRUE
(the default), the symbols are scaled so that the largest dimension of any symbol is one inch. If a positive number is given the symbols are scaled to make largest dimension this size in inches (so TRUE
and 1
are equivalent). If inches
is FALSE
, the units are taken to be those of the appropriate axes.
This behaviour is the same as in symbols
.
Note
A legend can be added with BubbleLegend
.
Author(s)
Andri Signorell <andri@signorell.net>
See Also
BubbleLegend
, symbols
, sunflowerplot
Examples
PlotBubble(latitude ~ longitude, area=(smoky+1)*2e8,
col=SetAlpha(1, 0.5), data=d.whisky)
cols <- c("olivedrab1","orange","green","mediumturquoise","mediumorchid2","firebrick1")
PlotBubble(x = state.x77[,"Income"], y = state.x77[,"Life Exp"], cex=.00004,
area = state.x77[,"Population"], col = cols[state.region], border="grey50",
panel.first=grid(), xlab="Income", ylab="Life Exp.", las=1
)
BubbleLegend(x = "topright", area = c(20000, 10000, 1000), cex=.00004, frame=NA,
cols=cols[1:3], labels = c(20000, 10000, 1000), cex.names=0.7)
legend(x="bottomright", fill=cols[1:4], legend=levels(state.region))