Nothing
if(requireNamespace("PairViz", quietly = TRUE)) {
local({
p <- with(olive, l_plot(oleic~arachidic, color=Area, showGuides = FALSE))
## Text
readline("press the return key to continue: next are text glyphs")
gt <- l_glyph_add_text(p, text=as.character(olive$Area))
p['glyph'] <- gt
## Images
if (loon:::.withTclImg) {
readline("press the return key to continue: next are image glyphs")
path <- file.path(find.package(package = "loon"), "images")
files <- list.files(path, full.names=TRUE)
imgs <- l_image_import_files(files)
names(imgs) <- gsub("\\.png$", "", basename(names(imgs)))
area <- gsub("^.*-", "", as.character(olive$Area))
areaimages <- imgs[match(area, names(imgs))]
gi <- l_glyph_add_image(p, images=areaimages)
p['glyph'] <- gi
readline("press the return key to continue: next reuse single image")
l_configure(c(p,gi), images=areaimages[1])
## or also just
## l_configure(gi, images=areaimages[1])
}
## Serialaxes
readline("press the return key to continue: next star glyphs")
sa <- l_glyph_add_serialaxes(p, data=oliveAcids)
l_configure(p, glyph=sa)
readline("press the return key to continue: next configure stars")
l_configure(sa, showEnclosing=FALSE, linewidth=2)
l_configure(sa, showArea=FALSE)
readline("press the return key to continue: next stack all Umbria glyphs")
p['selected'] <- olive$Area == "Umbria"
l_move_valign(p,'selected')
l_move_halign(p,'selected')
l_configure(p, size=40, which='selected')
l_scaleto_selected(p)
l_configure(sa, showEnclosing=TRUE, bboxColor="steelblue", showArea=FALSE)
p['selected'] <- FALSE
readline("press the return key to continue: next parallel coordinates")
l_move_reset(p)
p['size'] <- 4
l_scaleto_world(p)
l_configure(sa, axesLayout="parallel")
readline("press the return key to continue: next change the sequence")
l_configure(sa, sequence=as.vector(t(PairViz::hpaths(names(olive)[-c(1,2)]))))
readline("press the return key to continue: next show axes")
l_configure(sa, showAxes=TRUE)
readline("press the return key to continue: switch back to star glyphs")
l_configure(sa, axesLayout="radial", showAxes=FALSE, showEnclosing=FALSE)
## Polygon Glyphs
readline("press the return key to continue: add polygon glyphs")
x_star <-
c(-0.000864304235090734, 0.292999135695765, 0.949870354364736,
0.474503025064823, 0.586862575626621, -0.000864304235090734,
-0.586430423509075, -0.474070872947277, -0.949438202247191, -0.29256698357822)
y_star <-
c(-1, -0.403630077787381, -0.308556611927398, 0.153846153846154,
0.808556611927398, 0.499567847882455, 0.808556611927398, 0.153846153846154,
-0.308556611927398, -0.403630077787381)
x_cross <-
c(-0.258931143762604, -0.258931143762604, -0.950374531835206,
-0.950374531835206, -0.258931143762604, -0.258931143762604, 0.259651397291847,
0.259651397291847, 0.948934024776722, 0.948934024776722, 0.259651397291847,
0.259651397291847)
y_cross <-
c(-0.950374531835206, -0.258931143762604, -0.258931143762604,
0.259651397291847, 0.259651397291847, 0.948934024776722, 0.948934024776722,
0.259651397291847, 0.259651397291847, -0.258931143762604, -0.258931143762604,
-0.950374531835206)
x_hexagon <-
c(0.773552290406223, 0, -0.773552290406223, -0.773552290406223,
0, 0.773552290406223)
y_hexagon <-
c(0.446917314894843, 0.894194756554307, 0.446917314894843, -0.447637568424085,
-0.892754249495822, -0.447637568424085)
x_polygon_glyph <- lapply(as.character(olive$Region), function(region) {
if (region == "North")
x_cross
else if (region == "South")
x_star
else
x_hexagon
})
y_polygon_glyph <- lapply(as.character(olive$Region), function(region) {
if (region == "North")
y_cross
else if (region == "South")
y_star
else
y_hexagon
})
gl_pol <- l_glyph_add_polygon(p, x=x_polygon_glyph, y=y_polygon_glyph, label="polygon")
p['glyph'] <- gl_pol
readline("press the return key to continue: don't fill polygon glyph area")
gl_pol['showArea'] <- FALSE
## Mix glyphs
readline("press the return key to continue: mix between different glyphs")
g <- sample(
c(
'circle', 'square', 'triangle', 'diamond',
'ocircle', 'osquare', 'otriangle', 'odiamond',
gt,
if (loon:::.withTclImg) gi else NULL,
sa, gl_pol
),
dim(olive)[1], replace=TRUE
)
p['glyph'] <- g
## Pointrange Glyphs
readline("press the return key to continue: next pointrange glyphs")
avg <- with(chickwts, tapply(weight, feed, mean))
sd <- with(chickwts, tapply(weight, feed, sd))
min <- with(chickwts, tapply(weight, feed, min))
max <- with(chickwts, tapply(weight, feed, max))
p1 <- l_plot(avg~sd)
g.p <- l_glyph_add_pointrange(p1, ymin=min, ymax=max)
p1['glyph'] <- g.p
})
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.