Как показать только нижний треугольник в ggpairs?

Я использую ggpairs чтобы построить график пар, но я хочу только отобразить нижний треугольник. Я могу сделать диагональ и верхний треугольник пустыми, но не могу заставить их уйти, что оставляет пустую строку и пустой столбец, который мне не нужен.

Какие-либо предложения?

library("GGally")
ggpairs(iris[, 1:4], 
        lower  = list(continuous = "points"),
        upper  = list(continuous = "blank"),
        diag  = list(continuous = "blankDiag")
        )

введите описание изображения здесь

1 ответ

Решение

ggpairs объект может быть отредактирован. Основная часть объекта list участков. Нежелательные участки могут быть удалены из этого списка и других элементов ggpairs объект изменен для соответствия.

Вот функция, которая сделает это

gpairs_lower <- function(g){
  g$plots <- g$plots[-(1:g$nrow)]
  g$yAxisLabels <- g$yAxisLabels[-1]
  g$nrow <- g$nrow -1

  g$plots <- g$plots[-(seq(g$ncol, length(g$plots), by = g$ncol))]
  g$xAxisLabels <- g$xAxisLabels[-g$ncol]
  g$ncol <- g$ncol - 1

  g
}

library("GGally")
g <- ggpairs(iris[, 1:4], 
             lower  = list(continuous = "points"),
             upper  = list(continuous = "blank"),
             diag  = list(continuous = "blankDiag")
     )

gpairs_lower(g)

введите описание изображения здесь

Другие вопросы по тегам