bubbleplot: Bubble Plot

View source: R/bubbleplot.R

bubbleplotR Documentation

Bubble Plot

Description

Draw a bubble plot, a scatterplot with varying symbol sizes and colors.

Usage

bubbleplot(x, ...)

## Default S3 method:
bubbleplot(x, y, z, std = TRUE, pow = 0.5, add = FALSE,
  rev = FALSE, type = "p", ylim = NULL, xlab = NULL, ylab = NULL,
  pch = c(16, 1), cex.points = 1, col = "black", bg = par("bg"), ...)

## S3 method for class 'formula'
bubbleplot(formula, data, subset, na.action = NULL, ...)

Arguments

x

a vector of values for the horizontal axis. Can also be a 2-dimensional matrix or table (x values in column names and y values in rows), or a data frame containing x, y, and z in that order.

...

passed to bubbleplot.* methods.

y

a vector of values for the vertical axis.

z

a vector of values determining the bubble sizes.

std

whether to standardize z by dividing with mean(z).

pow

a power coefficient for the bubble sizes (0.5 is the square root).

add

whether to add bubbles to an existing plot.

rev

whether to reverse the y axis.

type

passed to points.

ylim

passed to plot.

xlab

passed to plot.

ylab

passed to plot.

pch

passed to points.

cex.points

scales all bubble sizes.

col

passed to points.

bg

passed to points.

formula

has the form z ~ x + y, where z determines the bubble sizes and x and y determine bubble locations.

data

where formula terms are stored, e.g. data frame or list.

subset

a logical vector specifying which data to plot.

na.action

how NA values are handled.

Note

The pch, col, and bg arguments can be be vectors of length 2, where negative z values are drawn in pch[2], col[2], and bg[2].

See Also

points is the underlying function used to draw the bubbles.

symbols can also draw bubbles, but does not handle negative z values or have convenience features such as pow and rev.

bubbleplot-package gives an overview of the package.

Examples

# 1  Formula
bubbleplot(Catch~Age+Year, data=catch.d)
# Compare this plot with catch.m layout
print(catch.m)
bubbleplot(Catch~Age+Year, data=catch.d, rev=TRUE, las=TRUE)

# 2  Data frame
bubbleplot(catch.d)
bubbleplot(Orange)
# Visualize tree transverse section at breast height
bubbleplot(Orange, pow=1, cex=2, pch=21, col="darkred", bg="peru", lwd=1.5)

# 3  Matrix or table
bubbleplot(catch.m)
catch.t <- xtabs(Catch~Year+Age, catch.d)
bubbleplot(catch.t)

# 4  Positive and negative values
bubbleplot(catch.r)
bubbleplot(Resid~Age+Year, catch.r, subset=Age %in% 4:9,
           rev=TRUE, xlim=c(3.5,9.5), cex=1.3)
# Residuals from orange tree model
library(nlme)
fm <- nlme(circumference~phi1/(1+exp(-(age-phi2)/phi3)),
           fixed=phi1+phi2+phi3~1, random=phi1~1|Tree,
           data=Orange, start=c(phi1=200,phi2=800,phi3=400))
bubbleplot(residuals(fm)~Tree+age, Orange)
bubbleplot(residuals(fm)~Tree+age, Orange, cex=2.5, pch=16,
           col=c("dodgerblue","orange"))

# 5  Richter magnitude, amplitude, and energy release
bubbleplot(mag~long+lat, quakes, pch=1)
bubbleplot(10^mag~long+lat, quakes, cex=1.2, col=gray(0, 0.3))
bubbleplot(sqrt(1000)^mag~long+lat, quakes, cex=1.2, col=gray(0, 0.3))
bubbleplot(sqrt(1000)^mag~long+lat, quakes, cex=1.2, col="#FF00004D")


arni-magnusson/bubbleplot documentation built on March 28, 2022, 12:11 a.m.