In this vignette, we describe how to use Polychrome palettes with the package ggplot2. The vignette will only run code if the ggplot2 package is available.
We want to build a custom palette of 40 colors for this application, with each block of four consecutive colors being distinguishable. We start by constructing a new palette in the usual way.
We achieve the goal of making the blocks of four colors being distinguishable by first sorting by hue, and then rearranging them into four-blocks.
Here is the key point of this entire vignette: By default, Polychrome gives names to each of the colors in a palette. But, in ggplot, named colors will only be applied if they match the levels of an appropriate factor in the data. The simplest solution is to remove the names:
For illustration purposes, we simulate a data set with a moderately complex structure. Specifically, we assume that we have
Here is the simulated design of the data set.
##  9
##  36
##  108
##  432 4
## Day Group Subject Rep ## Min. :1.00 G1 : 48 AA : 12 R1:144 ## 1st Qu.:1.75 G2 : 48 AB : 12 R2:144 ## Median :2.50 G3 : 48 AC : 12 R3:144 ## Mean :2.50 G4 : 48 AD : 12 ## 3rd Qu.:3.25 G5 : 48 AE : 12 ## Max. :4.00 G6 : 48 AF : 12 ## (Other):144 (Other):360
Now we add simulated “measurements” taken on each replicate of each subject on each of four days.
library(ggplot2) ggplot(daft, aes(x = Day, y = variable, colour = as.factor(Subject))) + geom_point(aes(shape = as.factor(Rep)), size = 3) + geom_line(aes(linetype = as.factor(Rep)), size = 0.8) + facet_wrap(. ~ Group, ncol = 3)+ theme_bw() + theme(legend.position="none")+ scale_color_manual(values = P40)