Ensemble Graphics

Data exploration usually produces many graphics.

Being able to reconstruct these form a command history or notebook is useful.

But a final report or presentation usually needs a small set of carefully chosen graphics. These can be some or all of:

Many other variations are possible. Such collections are sometimes called ensemble graphics.

Collections of graphics can be assembled and arranged within the graphics system or using the facilities of the report generation system.

Unwin’s Fig 12.1 provides an ensemble graphic for a data set on the chemical composition of coffee samples:

library(ggplot2)
library(GGally)
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2

data(coffee, package = "pgmm")
coffee <- within(coffee, Type <- ifelse(Variety == 1,
                                        "Arabica", "Robusta"))
names(coffee) <- abbreviate(names(coffee), 8)
a <- ggplot(coffee, aes(x = Type)) + geom_bar(aes(fill = Type)) +
    scale_fill_manual(values = c("grey70", "red")) +
    guides(fill = FALSE) + ylab("")
## Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
## of ggplot2 3.3.4.
b <- ggplot(coffee, aes(x = Fat, y = Caffine, colour = Type)) +
    geom_point(size = 3) +
    scale_colour_manual(values = c("grey70", "red"))
c <- ggparcoord(coffee[order(coffee$Type), ], columns = 3 : 14,
                groupColumn = "Type", scale = "uniminmax") +
    xlab("") + ylab("") +
    theme(legend.position = "none") +
    scale_colour_manual(values = c("grey", "red")) +
    theme(axis.ticks.y = element_blank(),
          axis.text.y = element_blank())
grid.arrange(arrangeGrob(a, b, ncol = 2, widths = c(1, 2)),
             c, nrow = 2)

Some of the issues addressed:

Information Dashboards

Dashboards are popular in business and arose from work on decision support systems.

Data visualizations are typically a large component of dashboards.

Dashboards often have dynamic or interactive features:

Ben Schneiderman’s design guidelines:

Jenifer Tidwell’s classification of useful interactions

The computational support needed for data updating and interaction will vary.

Examples

Tableau provides tools for easily creating dashboards; an example on lyme’s disease in Minnesota.

Rstudio provides the flexdashboard framework for creating dashboards with rmarkdown.

Some Notes