The following plots use manually determined gap sequences. A general algorithm would be nice.
Generated within RStudio using R Markdown and ggvis.
dat1 <-
structure(c(1, 1, 1, 1, 1, 8, 8, 8, 8, 2, 1, 1, 1, 1, 8, 8, 8,
7, 2, 2, 1, 1, 1, 8, 8, 7, 7, 2, 2, 2, 1, 1, 8, 7, 7, 7, 2, 2,
2, 2, 1, 7, 7, 7, 7, 3, 3, 3, 3, 4, 6, 6, 6, 6, 3, 3, 3, 4, 4,
5, 6, 6, 6, 3, 3, 4, 4, 4, 5, 5, 6, 6, 3, 4, 4, 4, 4, 5, 5, 5,
6), .Dim = c(9L, 9L), .Dimnames = structure(list(Y = c("1", "2",
"3", "4", "5", "6", "7", "8", "9"), X = c("1", "2", "3", "4",
"5", "6", "7", "8", "9")), .Names = c("Y", "X")))
dat2 <-
structure(c(1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 2, 1, 1, 1, 1, 8, 8,
8, 8, 7, 2, 2, 1, 1, 1, 8, 8, 8, 7, 7, 2, 2, 2, 1, 1, 8, 8, 7,
7, 7, 2, 2, 2, 2, 1, 8, 7, 7, 7, 7, 3, 3, 3, 3, 3, 6, 6, 6, 6,
6, 3, 3, 3, 3, 4, 5, 6, 6, 6, 6, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6,
3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6), .Dim = c(10L,
10L), .Dimnames = structure(list(X = c("1", "2", "3", "4", "5",
"6", "7", "8", "9", "10"), Y = c("1", "2", "3", "4", "5", "6",
"7", "8", "9", "10")), .Names = c("Y", "X")))
dat3 <-
structure(c(13, 1, 1, 1, 9, 2, 2, 2, 16, 5, 13, 1, 1, 9, 2, 2,
16, 6, 5, 5, 13, 1, 9, 2, 16, 6, 6, 5, 5, 5, 13, 9, 16, 6, 6,
6, 11, 11, 11, 11, 17, 12, 12, 12, 12, 7, 7, 7, 15, 10, 14, 8,
8, 8, 7, 7, 15, 3, 10, 4, 14, 8, 8, 7, 15, 3, 3, 10, 4, 4, 14,
8, 15, 3, 3, 3, 10, 4, 4, 4, 14), .Dim = c(9L, 9L), .Dimnames = structure(list(
X = c("1", "2", "3", "4", "5", "6", "7", "8", "9"), Y = c("1",
"2", "3", "4", "5", "6", "7", "8", "9")), .Names = c("Y",
"X")))
dat4 <-
structure(c(13, 1, 1, 1, 1, 2, 2, 2, 2, 16, 5, 13, 1, 1, 1, 2,
2, 2, 16, 6, 5, 5, 13, 1, 1, 2, 2, 16, 6, 6, 5, 5, 5, 13, 1,
2, 16, 6, 6, 6, 5, 5, 5, 5, 13, 16, 6, 6, 6, 6, 7, 7, 7, 7, 15,
14, 8, 8, 8, 8, 7, 7, 7, 15, 3, 4, 14, 8, 8, 8, 7, 7, 15, 3,
3, 4, 4, 14, 8, 8, 7, 15, 3, 3, 3, 4, 4, 4, 14, 8, 15, 3, 3,
3, 3, 4, 4, 4, 4, 14), .Dim = c(10L, 10L), .Dimnames = structure(list(
Y = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10"),
X = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10")), .Names = c("Y",
"X")))
dat4.groups <-
structure(c(2L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 4L, 7L, 2L, 1L,
1L, 1L, 3L, 3L, 3L, 4L, 8L, 7L, 7L, 2L, 1L, 1L, 3L, 3L, 4L, 8L,
8L, 7L, 7L, 7L, 2L, 1L, 3L, 4L, 8L, 8L, 8L, 7L, 7L, 7L, 7L, 2L,
4L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 10L, 12L, 11L, 11L, 11L,
11L, 9L, 9L, 9L, 10L, 5L, 6L, 12L, 11L, 11L, 11L, 9L, 9L, 10L,
5L, 5L, 6L, 6L, 12L, 11L, 11L, 9L, 10L, 5L, 5L, 5L, 6L, 6L, 6L,
12L, 11L, 10L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 12L), .Label = c("a",
"a\\e", "b", "b/f", "c", "d", "e", "f", "g", "g/c", "h", "h\\d"
), class = "factor")
png files:
svg files: