Last chance! 50% off unlimited learning
Sale ends in
stars(x, full = TRUE, scale = TRUE, radius = TRUE,
labels = dimnames(x)[[1]], locations = NULL,
nrow = NULL, ncol = NULL, len = 1,
key.loc = NULL, key.labels = dimnames(x)[[2]],
key.xpd = TRUE,
xlim = NULL, ylim = NULL, flip.labels = NULL,
draw.segments = FALSE,
col.segments = 1:n.seg, col.stars = NA, col.lines = NA,
axes = FALSE, frame.plot = axes,
main = NULL, sub = NULL, xlab = "", ylab = "",
cex = 0.8, lwd = 0.25, lty = par("lty"), xpd = FALSE,
mar = pmin(par("mar"),
1.1+ c(2*axes+ (xlab != ""),
2*axes+ (ylab != ""), 1, 0)),
add = FALSE, plot = TRUE, ...)
x
.
Missing values (NA
) are allowed, but they are treated as if
they were 0 (after scaling, if relevant).TRUE
, the segment plots will
occupy a full circle. Otherwise, they occupy the (upper) semicircle
only.TRUE
, the columns of the data
matrix are scaled independently so that the maximum value in each
column is 1 and the minimum is 0. If FALSE
, the presumption
is that the data have been scaled by some other algorithm to the
range $[0, 1]$.TRUE
, the radii corresponding to
each variable in the data will be drawn.stars
, no attempt is made to construct
labels if labels = NULL
.locations = NULL
, the segment plots will be
placed in a rectangular grid.locations
is NULL
. By default, nrow == ncol
, a square
layout will be used.dimnames(x)
is used, if available.par("xpd")
.TRUE
draw a segment diagram.par
), each specifying a color for one of the segments
(variables). Ignored if draw.segments = FALSE
.par
), each specifying a color for one of the stars
(cases). Ignored if draw.segments = TRUE
.par
), each specifying a color for one of the lines
(cases). Ignored if draw.segments = TRUE
.TRUE
axes are added to the plot.TRUE
, the plot region is framed.par(xpd = .)
.par(mar = *)
, typically choosing
smaller margins than by default.plot()
, see plot.default
and to
box()
if frame.plot
is true.TRUE
add stars to current plot.FALSE
, nothing is plotted.plot = TRUE
. Each star plot or segment diagram represents one row of the input
x
. Variables (columns) start on the right and wind
counterclockwise around the circle. The size of the (scaled) column
is shown by the distance from the center to the point on the star or
the radius of the segment representing the variable.
Only one page of output is produced.
symbols
for another way to draw stars and other symbols.require(grDevices)
stars(mtcars[, 1:7], key.loc = c(14, 2),
main = "Motor Trend Cars : stars(*, full = F)", full = FALSE)
stars(mtcars[, 1:7], key.loc = c(14, 1.5),
main = "Motor Trend Cars : full stars()", flip.labels = FALSE)
## 'Spider' or 'Radar' plot:
stars(mtcars[, 1:7], locations = c(0, 0), radius = FALSE,
key.loc = c(0, 0), main = "Motor Trend Cars", lty = 2)
## Segment Diagrams:
palette(rainbow(12, s = 0.6, v = 0.75))
stars(mtcars[, 1:7], len = 0.8, key.loc = c(12, 1.5),
main = "Motor Trend Cars", draw.segments = TRUE)
stars(mtcars[, 1:7], len = 0.6, key.loc = c(1.5, 0),
main = "Motor Trend Cars", draw.segments = TRUE,
frame.plot = TRUE, nrow = 4, cex = .7)
## scale linearly (not affinely) to [0, 1]
USJudge <- apply(USJudgeRatings, 2, function(x) x/max(x))
Jnam <- row.names(USJudgeRatings)
Snam <- abbreviate(substring(Jnam, 1, regexpr("[,.]",Jnam) - 1), 7)
stars(USJudge, labels = Jnam, scale = FALSE,
key.loc = c(13, 1.5), main = "Judge not ...", len = 0.8)
stars(USJudge, labels = Snam, scale = FALSE,
key.loc = c(13, 1.5), radius = FALSE)
loc <- stars(USJudge, labels = NULL, scale = FALSE,
radius = FALSE, frame.plot = TRUE,
key.loc = c(13, 1.5), main = "Judge not ...", len = 1.2)
text(loc, Snam, col = "blue", cex = 0.8, xpd = TRUE)
## 'Segments':
stars(USJudge, draw.segments = TRUE, scale = FALSE, key.loc = c(13,1.5))
## 'Spider':
stars(USJudgeRatings, locations = c(0, 0), scale = FALSE, radius = FALSE,
col.stars = 1:10, key.loc = c(0, 0), main = "US Judges rated")
## Same as above, but with colored lines instead of filled polygons.
stars(USJudgeRatings, locations = c(0, 0), scale = FALSE, radius = FALSE,
col.lines = 1:10, key.loc = c(0, 0), main = "US Judges rated")
## 'Radar-Segments'
stars(USJudgeRatings[1:10,], locations = 0:1, scale = FALSE,
draw.segments = TRUE, col.segments = 0, col.stars = 1:10, key.loc = 0:1,
main = "US Judges 1-10 ")
palette("default")
stars(cbind(1:16, 10*(16:1)), draw.segments = TRUE,
main = "A Joke -- do *not* use symbols on 2D data!")
Run the code above in your browser using DataLab