Как сохранить настроенный (сохранен только нижний треугольник) график ggpairs?

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

Обычный способ сохранить 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")
     )


png("graph.png", height = 720, width = 720)
gr <- gpairs_lower(g)
print(gr)
dev.off()

## graph.png is not saved

Это не работает, я считаю, потому что gpairs_lower в отличие от ggpairs не возвращает ggmatrix объект.

Richard Telford Любая помощь будет оценена.

РЕДАКТИРОВАТЬ: Теперь код выше работает!

1 ответ

Решение

Проблема с вашим кодом заключается в том, что по умолчанию единицами высоты и ширины являются пиксели, поэтому вы сохраняете изображение размером 7x7 пикселей!! Попробуйте другие значения или измените units:

png("myPlotMatrix.png", height = 700, width = 700)
g <- ggpairs(iris[, 1:4], 
             lower  = list(continuous = "points"),
             upper  = list(continuous = "blank"),
             diag  = list(continuous = "blankDiag")
)

g<-gpairs_lower(g)
print(g)
dev.off()

смотреть на ?png:

ширина: ширина устройства.

высота: высота устройства.

единицы: единицы измерения высоты и ширины. Может быть px (пиксели, по умолчанию), в (дюймах), см или мм.

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