GGally - comportamento inesperado com ggpairs (…, diag = list (continuous = 'density'))

Eu estou tentando gerar uma matriz de dispersão com gráficos de densidade nas diagonais (usando ggplot, de preferência). A documentação paraggpairs nos estados do pacote GGally:

diag é uma lista que pode conter apenas as variáveis ​​'contínuo' e 'discreto'. Cada elemento da lista de diag é uma string que implementa as seguintes opções: contínua = exatamente uma de ('densidade', 'barra', 'em branco'); discreto = exatamente um de ('bar', 'em branco').

que sugere (??) que isso deve ser possível usandodiag=list(continuous="density").

Mas o seguinte código:

xx <- mtcars[,c(1,3,4,6)]   ## extract mpg, disp, hp, and wt from mtcars
library(GGally)
ggpairs(xx,diag=list(continuous="density"))

dá isto:

O que estou fazendo de errado?

NB: Tentando fazer a mesma coisa complotmatrix(xx) dá isto:

que falha porque os gráficos de densidade são, evidentemente, escalados em cada faceta diagonal usando o intervalo baseado no conjunto de dados completo (xx), ao invés do intervalo baseado emxx subconjunto para a faceta apropriada. Como resultado, a segunda linha (disp) parece boa porque disp tem o maior intervalo, mas as linhas 1 e 4 são reduzidas.

questionAnswers(1)

yourAnswerToTheQuestion