Как сохранить настроенный (сохранен только нижний треугольник) график ggpairs? - PullRequest
0 голосов
/ 24 февраля 2019

Я использовал функцию 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 объект.

Ричард Любая помощь будетприветствуется.

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

1 Ответ

0 голосов
/ 25 февраля 2019

Проблема с вашим кодом заключается в том, что единицей высоты и ширины по умолчанию являются пиксели, поэтому вы сохраняете изображение размером 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:

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

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

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

...