Update:
GGAlly wurde erneut aktualisiert und der Hack in dieser Antwort auch funktioniert nicht mehr, aber schließlich gibt es eine nicht -hack Lösung: Da
scales <- scale_colour_brewer(type = 'qual') %+% scale_fill_brewer(type = 'qual')
Sie (in einer hoffentlich zukunftssichere Art und Weise) tun
for (row in seq_len(ps$nrow))
for (col in seq_len(ps$ncol))
ps[row, col] <- ps[row, col] + scales
alte Art und Weise
Der Hack in der anderen Antwort nicht mehr funktioniert, also lasst uns einen neuen Hack!
Die interne Struktur eines ggpairs
Objekt ist die Datenmenge und eine Liste von Zeichenketten:
> dta <- data.frame(a=1:6, b=7:12, c=c('f', 'g'))
> ps <- ggpairs(dta, 1:2, colour = 'c')
> str(ps)
List of 10
$ data :'data.frame': 2 obs. of 3 variables:
..$ a: int [1:2] 1 2
..$ b: int [1:2] 3 4
..$ c: int [1:2] 5 6
$ columns : int [1:3] 1 2 3
$ plots :List of 9
..$ : chr "ggally_densityDiag(ggally_data, ggplot2::aes(x = a, colour = c))"
..$ : chr "ggally_cor(ggally_data, ggplot2::aes(x = b, y = a, colour = c))"
[...]
$ gg : NULL
- attr(*, "class")= chr [1:2] "gg" "ggpairs"
> ps

Um den Plot zu ändern, müssen die jeweiligen Zeichenfolgen in dem Plot Objekt modifiziert werden um den zusätzlichen Befehl aufzunehmen. Dazu wir deparse(substitute(argument))
verwenden, um eine Zeichenkette, die den Code der Benutzer übergeben zu bekommen, und hängen Sie ihn an jedem Grundstück Aufruf:
add_to_plots <- function(pairs, modification) {
str <- deparse(substitute(modification))
pairs$plots <- lapply(pairs$plots, function(s) paste(s, '+', str))
pairs
}
> add_to_plots(ps, scale_colour_brewer(type = 'qual'))

schön Hack! Hoffentlich bleibt das für eine lange Zeit zuverlässig. –